def draw(self): #helper Variables #Find the widest component of the anchor and set the width to that baseWidth = (gv.printedToPrintedDia+2*gv.mountToPrintedPadding if gv.printedToPrintedDia+2*gv.mountToPrintedPadding > gv.yBeltAnchorWidth else gv.yBeltAnchorWidth) baseLength = (gv.yBeltAnchorLength +2*gv.printedToPrintedDia +4*gv.mountToPrintedPadding) #Make file and build part try: App.getDocument("yBeltAnchor").recompute() App.closeDocument("yBeltAnchor") App.setActiveDocument("") App.ActiveDocument=None except: pass #Create Document App.newDocument("yBeltAnchor") App.setActiveDocument("yBeltAnchor") App.ActiveDocument=App.getDocument("yBeltAnchor") #Make base #Sketch points p1x = -baseLength/2 p1y = -baseWidth/2 p2x = -baseLength/2 p2y = baseWidth/2 p3x = baseLength/2 p3y = baseWidth/2 p4x = baseLength/2 p4y = -baseWidth/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',1,2,0,1,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,baseWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,baseLength)) App.ActiveDocument.recompute() App.getDocument("yBeltAnchor").recompute() #Pad base App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.tabThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #Cut hole on right side #Sketch points p1x = gv.yBeltAnchorLength/2+gv.mountToPrintedPadding+gv.printedToPrintedDia/2 p1y = 0 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, 0,0, 0, 0, gv.tabThickness, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',-1,1,0,3,p1x)) App.ActiveDocument.recompute() App.getDocument('yBeltAnchor').recompute() #Cut hole through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Mirror the hole App.activeDocument().addObject("PartDesign::Mirrored","Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [App.activeDocument().Pocket,] App.activeDocument().Mirrored.MirrorPlane = (App.activeDocument().Sketch001, ["V_Axis"]) #Make the column #Sketch points p1x = -gv.yBeltAnchorWidth/2 p1y = -gv.yBeltAnchorLength/2 p2x = -gv.yBeltAnchorWidth/2 p2y = gv.yBeltAnchorLength/2 p3x = gv.yBeltAnchorWidth/2 p3y = gv.yBeltAnchorLength/2 p4x = gv.yBeltAnchorWidth/2 p4y = -gv.yBeltAnchorLength/2 App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().recompute() App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Mirrored, 0,0, 0, 0, gv.tabThickness, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',1,2,0,1,-1,1)) App.ActiveDocument.recompute() #Add Dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',1,gv.yBeltAnchorWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',2,-gv.yBeltAnchorLength)) App.ActiveDocument.recompute() App.getDocument('yBeltAnchor').recompute() #Extrude column App.activeDocument().addObject("PartDesign::Pad","Pad001") App.activeDocument().Pad001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pad001.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad001.Length = gv.yBeltAnchorHeight-gv.tabThickness App.ActiveDocument.Pad001.Reversed = 0 App.ActiveDocument.Pad001.Midplane = 0 App.ActiveDocument.Pad001.Length2 = 100.000000 App.ActiveDocument.Pad001.Type = 0 App.ActiveDocument.Pad001.UpToFace = None App.ActiveDocument.recompute() #Cut slot in column #Sketch Points p1x = -gv.yBeltAnchorSlotWidth/2 p1y = gv.tabThickness p2x = -gv.yBeltAnchorSlotWidth/2 p2y = gv.yBeltAnchorHeight-gv.yBeltAnchorBridgeThickness p3x = gv.yBeltAnchorSlotWidth/2 p3y = gv.yBeltAnchorHeight-gv.yBeltAnchorBridgeThickness p4x = gv.yBeltAnchorSlotWidth/2 p4y = gv.tabThickness #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') App.activeDocument().recompute() App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Pad001, None, None, -gv.yBeltAnchorWidth/2, 0, None, None) App.activeDocument().recompute() App.ActiveDocument.Sketch003.addExternal("Pad001",uf.getEdge(App.ActiveDocument.Pad001, 0,0, -gv.yBeltAnchorWidth/2, 0, gv.tabThickness,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Symmetric',1,2,2,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addExternal("Pad001","Edge1") App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Distance',1,2,-4,gv.yBeltAnchorBridgeThickness)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('DistanceX',0,gv.yBeltAnchorSlotWidth)) App.ActiveDocument.recompute() App.getDocument('yBeltAnchor').recompute() #Cut Slot through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() #Refine Shape App.ActiveDocument.addObject('Part::Feature','Pocket001').Shape=App.ActiveDocument.Pocket001.Shape.removeSplitter() App.ActiveDocument.ActiveObject.Label=App.ActiveDocument.Pocket001.Label App.ActiveDocument.recompute()
def draw(self): try: Gui.getDocument(self.name) Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None Gui.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) Gui.ActiveDocument=Gui.getDocument(self.name) #Make profile of angle and extrude it p1x = -gv.extruderMountPlateWidth/2 p1y = 0 p2x = p1x p2y = gv.extruderDepth p3x = -p1x p3y = p2y p4x = p3x p4y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1 0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }') # Gui.activeDocument().setEdit('Sketch') App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',0,2,0,1,-1,1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,gv.extruderDepth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,gv.extruderMountPlateWidth)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Pad extruderMountPlate App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = gv.extruderMountPlateThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make holes for mounting plate to angle #Sketch Points p1x = gv.extruderMountPlateWidth p1y = (gv.extruderMountAngleWidth+gv.extruderMountAngleThickness)/2 p2x = -gv.xCarriageWidth/2+gv.xCarriageMountHoleHorizOffset p2y = p1y p3x = -p2x p3y = p1y p4x = -p1x p4y = p1y App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, None, None, gv.extruderMountPlateThickness, 0)#(App.ActiveDocument.Pad,["Face6"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') # App.ActiveDocument.Sketch001.addExternal("Pad","Edge12") App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad , -gv.extruderMountPlateWidth/2,0, None,None, gv.extruderMountPlateThickness,0)) App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.extruderMountPlateWidth/2,0, None,None, gv.extruderMountPlateThickness,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',2,2,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',2,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',4,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',4,3)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',4,gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',0,2,0,1,-(gv.extruderMountPlateWidth/2-gv.xCarriageWidth/2+gv.xCarriageMountHoleHorizOffset))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',-1,1,0,2,(gv.extruderMountAngleWidth+gv.extruderMountAngleThickness)/2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut the holes App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.activeDocument().setEdit('Pocket') # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #make holes for mounting the extruder #Sketch Points p1x = -gv.extruderMountPlateWidth/2 p1y = gv.extruderDepth-gv.extruderEdgeToCenterLine p2x = -gv.extruderMountHoleSpacing/2 p2y = p1y p3x = 0 p3y = p1y p4x = -p2x p4y = p1y p5x = -p1x p5y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, None, None, None, None, gv.extruderMountPlateThickness, 0)#(App.ActiveDocument.Pocket,["Face5"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket , -gv.extruderMountPlateWidth/2,0, None,None, gv.extruderMountPlateThickness,0)) App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, gv.extruderMountPlateWidth/2,0, None,None, gv.extruderMountPlateThickness,0)) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',1,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',3,2,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',3,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.Sketch002.toggleConstruction(3) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.extruderMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',4,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p4x,p4y,0),App.Vector(0,0,1),gv.extruderMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',5,3,2,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),gv.extruderFilamentHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',6,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',4,5)) App.ActiveDocument.recompute() #Add Dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',0,2,2,2,gv.extruderMountHoleSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',3,2,-4,2,gv.extruderEdgeToCenterLine)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',4,gv.extruderMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',6,gv.extruderFilamentHoleDia/2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut holes through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pocket.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pocket.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Cut holes for hot end mount if needed. if self.hotEndMountHoles: #Sketch Points p1x = -gv.hotEndMountHoleSpacing/2 p1y = gv.extruderDepth-gv.extruderEdgeToCenterLine p2x = -p1x p2y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Pocket001, None, None, None, None, gv.extruderMountPlateThickness, 0)#(App.ActiveDocument.Pocket001,["Face5"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch003') App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Symmetric',0,1,0,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.hotEndMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',1,3,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.hotEndMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',2,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Equal',1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Radius',2,gv.hotEndMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('DistanceX',0,gv.hotEndMountHoleSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Distance',-1,1,0,p1y)) # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut hole Through All App.activeDocument().addObject("PartDesign::Pocket","Pocket002") App.activeDocument().Pocket002.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket002.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch003") Gui.activeDocument().hide("Pocket001") # Gui.ActiveDocument.Pocket002.ShapeColor=Gui.ActiveDocument.Pocket001.ShapeColor # Gui.ActiveDocument.Pocket002.LineColor=Gui.ActiveDocument.Pocket001.LineColor # Gui.ActiveDocument.Pocket002.PointColor=Gui.ActiveDocument.Pocket001.PointColor App.ActiveDocument.Pocket002.Length = 5.000000 App.ActiveDocument.Pocket002.Type = 1 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute()
def draw(self): try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument = None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument = App.getDocument(self.name) #Make profile of angle and extrude it p1x = 0 p1y = 0 p2x = 0 p2y = gv.extruderMountAngleWidth p3x = p2y p3y = p2y p4x = p3x p4y = gv.extruderMountAngleWidth - gv.extruderMountAngleThickness p5x = gv.extruderMountAngleThickness p5y = p4y p6x = p5x p6y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch') App.activeDocument().Sketch.Placement = App.Placement( App.Vector(0.000000, 0.000000, 0.000000), App.Rotation(0.500000, 0.500000, 0.500000, 0.500000)) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', -1, 1, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('PointOnObject', 0, 2, -2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p5x, p5y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 2, 2, 3, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p5x, p5y, 0), App.Vector(p6x, p6y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 3, 2, 4, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p6x, p6y, 0), App.Vector(p1x, p1y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 4, 2, 5, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 5, 2, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 5)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Equal', 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Equal', 2, 5)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceY', 0, gv.extruderMountAngleWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceY', 2, -gv.extruderMountAngleThickness)) App.ActiveDocument.recompute() App.getDocument('extruderMountAngle').recompute() #Extrude the extruder mount angle App.activeDocument().addObject("PartDesign::Pad", "Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.xCarriageWidth App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #Cut holes for mounting to xCarriage #Sketch Points p1x = (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness) / 2 p1y = gv.xCarriageWidth p2x = p1x p2y = gv.xCarriageWidth - gv.xCarriageMountHoleHorizOffset p3x = p1x p3y = gv.xCarriageMountHoleHorizOffset p4x = p1x p4y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch001') App.activeDocument().Sketch001.Support = uf.getFace( App.ActiveDocument.Pad, None, None, gv.extruderMountAngleThickness, 0, None, None) #(App.ActiveDocument.Pad,["Face5"]) App.activeDocument().recompute() # App.ActiveDocument.Sketch001.addExternal("Pad","Edge16") App.ActiveDocument.Sketch001.addExternal( "Pad", uf.getEdge( App.ActiveDocument.Pad, gv.xCarriageWidth, 0, gv.extruderMountAngleThickness, 0, (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness) / 2, 0)) App.ActiveDocument.Sketch001.addExternal( "Pad", uf.getEdge( App.ActiveDocument.Pad, 0, 0, gv.extruderMountAngleThickness, 0, (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness) / 2, 0)) App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('PointOnObject', 0, 1, -3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('PointOnObject', 2, 2, -4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Symmetric', -3, 1, -3, 2, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p2x, p2y, 0), App.Vector(0, 0, 1), gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 3, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p3x, p3y, 0), App.Vector(0, 0, 1), gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 4, 3, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 4, 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Radius', 3, gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('DistanceY', 0, -gv.xCarriageMountHoleHorizOffset)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut mounting holes through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Make mounting holes for extruderMountPlate #SketchPoints p1x = (gv.extruderMountAngleWidth + gv.extruderMountAngleThickness) / 2 p1y = gv.xCarriageWidth p2x = p1x p2y = gv.xCarriageWidth - gv.xCarriageMountHoleHorizOffset p3x = p1x p3y = gv.xCarriageMountHoleHorizOffset p4x = p1x p4y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch002') App.activeDocument().Sketch002.Support = uf.getFace( App.ActiveDocument.Pocket, None, None, None, None, gv.extruderMountAngleWidth - gv.extruderMountAngleThickness, 0) #(App.ActiveDocument.Pocket,["Face10"]) App.activeDocument().recompute() App.ActiveDocument.Sketch002.addExternal( "Pocket", uf.getEdge( App.ActiveDocument.Pocket, gv.xCarriageWidth, 0, (gv.extruderMountAngleWidth + gv.extruderMountAngleThickness) / 2, 0, (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness), 0)) App.ActiveDocument.Sketch002.addExternal( "Pocket", uf.getEdge( App.ActiveDocument.Pocket, 0, 0, (gv.extruderMountAngleWidth + gv.extruderMountAngleThickness) / 2, 0, (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness), 0)) App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 0, 1, -3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 2, 2, -4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Symmetric', -3, 1, -3, 2, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p2x, p2y, 0), App.Vector(0, 0, 1), gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 3, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p3x, p3y, 0), App.Vector(0, 0, 1), gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 4, 3, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 4, 3)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Radius', 3, gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('DistanceY', 0, -gv.xCarriageMountHoleHorizOffset)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut mounting holes through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute()
def draw(self): try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #extrude crossBarBottom uf.extrudeFrameMember(self.name, gv.sideBarLength) #Make mounting holes for feet #Sketch points x1 = 0 y1 = 0 x2 = 0 y2 = 2*gv.frameSpacerOffset+gv.frameHeight x3 = 0 y3 = gv.sideBarLength x4 = 0 y4 = gv.sideBarLength-y2 App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, None, None, gv.frameHeight/2, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.sideBarLength,0, 0,0, gv.frameHeight/2,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(x1,y1,0),App.Vector(x2,y2,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,1,-1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(x3,y3,0),App.Vector(x4,y4,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',1,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',-1,1,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',1,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(x2,y2,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(x4,y4,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',3,2)) App.ActiveDocument.recompute() #add Dimmensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',0,y2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',2,gv.mountToFrameDia/2)) App.ActiveDocument.recompute() # Gui.getDocument('sideBarBottomL').resetEdit() #Cut Pocket App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.ActiveDocument.recompute() # Gui.activeDocument().hide("Sketch001") # Gui.activeDocument().hide("Pad") # Gui.activeDocument().setEdit('Pocket') # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute()
def draw(self): if self.side == "Right": self.rodDia = gv.yRodDiaR elif self.side == "Left": self.rodDia = gv.yRodDiaL #set up helper Variables columnWidth = (gv.yRodDiaMax + gv.printedToPrintedDia + gv.clampNutFaceToFace + 2*gv.clampNutPadding) try: Gui.getDocument(self.name) Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None Gui.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) Gui.ActiveDocument=Gui.getDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #Create tabs #Sketch points p1x = -gv.yRodSupportWidth/2 p1y = gv.frameWidth/2 p2x = gv.yRodSupportWidth/2 p2y = gv.frameWidth/2 p3x = gv.yRodSupportWidth/2 p3y = -gv.frameWidth/2 p4x = -gv.yRodSupportWidth/2 p4y = -gv.frameWidth/2 #MakeSketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1 0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }') # Gui.activeDocument().setEdit('Sketch') App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',0,1,1,2,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,-gv.frameWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',2,-gv.yRodSupportWidth)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Pad Sketch App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = gv.tabThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Cut slot on right side #Sketch points p1x = gv.yRodSupportWidth/2-gv.slotPadding-gv.slotDia/2-gv.slotWidth p1y = 0 p2x = gv.yRodSupportWidth/2-gv.slotPadding-gv.slotDia/2 p2y = 0 p3x = gv.yRodSupportWidth/2-gv.slotPadding-gv.slotDia/2-gv.slotWidth p3y = -gv.slotDia/2 p4x = gv.yRodSupportWidth/2-gv.slotPadding-gv.slotDia/2-gv.slotWidth p4y = gv.slotDia/2 p5x = gv.yRodSupportWidth/2-gv.slotPadding-gv.slotDia/2 p5y = gv.slotDia/2 p6x = gv.yRodSupportWidth/2-gv.slotPadding-gv.slotDia/2 p6y = -gv.slotDia/2 p7x = gv.yRodSupportWidth/2-gv.slotPadding p7y = 0 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, None, None, gv.tabThickness, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.yRodSupportWidth/2,0, None, None, gv.tabThickness, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),4.217310),math.pi/2,-math.pi/2)) App.ActiveDocument.Sketch001.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),4.217310),-math.pi/2,math.pi/2)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',0,2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',0,3)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',1,2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',1,3)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,1,3,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,2,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,2,1,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,2,1,2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Point(App.Vector(32.724319,-0.106919,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',4,1,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',4,1,1)) #add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',2,gv.slotWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',1,gv.slotDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',4,1,-3,gv.slotPadding)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut slot through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Mirror the slot App.activeDocument().addObject("PartDesign::Mirrored","Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [App.activeDocument().Pocket,] App.activeDocument().Mirrored.MirrorPlane = (App.activeDocument().Sketch001, ["V_Axis"]) Gui.activeDocument().Pocket.Visibility=False # Gui.activeDocument().setEdit('Mirrored') # Gui.ActiveDocument.Mirrored.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Mirrored.DisplayMode=Gui.ActiveDocument.Pocket.DisplayMode App.ActiveDocument.Mirrored.Originals = [App.ActiveDocument.Pocket,] App.ActiveDocument.Mirrored.MirrorPlane = (App.ActiveDocument.Sketch001,["V_Axis"]) App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make rod support column #Sketch points p1x = -columnWidth/2 p1y = -gv.frameWidth/2 p2x = -columnWidth/2 p2y = gv.frameWidth/2 p3x = columnWidth/2 p3y = gv.frameWidth/2 p4x = columnWidth/2 p4y = -gv.frameWidth/2 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Mirrored, None, None, None, None, 0, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',0,1,1,2,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',1,gv.frameWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',2,-columnWidth)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #pad rod support App.activeDocument().addObject("PartDesign::Pad","Pad001") App.activeDocument().Pad001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pad001.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Mirrored") # Gui.ActiveDocument.Pad001.ShapeColor=Gui.ActiveDocument.Mirrored.ShapeColor # Gui.ActiveDocument.Pad001.LineColor=Gui.ActiveDocument.Mirrored.LineColor # Gui.ActiveDocument.Pad001.PointColor=Gui.ActiveDocument.Mirrored.PointColor App.ActiveDocument.Pad001.Length = gv.yRodStandoff-gv.clampGap/2 App.ActiveDocument.Pad001.Reversed = 1 App.ActiveDocument.Pad001.Midplane = 0 App.ActiveDocument.Pad001.Length2 = 100.000000 App.ActiveDocument.Pad001.Type = 0 App.ActiveDocument.Pad001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Refine shape App.ActiveDocument.addObject('Part::Feature','Refined').Shape=App.ActiveDocument.Pad001.Shape.removeSplitter() App.ActiveDocument.ActiveObject.Label=App.ActiveDocument.Pad001.Label Gui.ActiveDocument.Pad001.hide() # Gui.ActiveDocument.ActiveObject.ShapeColor=Gui.ActiveDocument.Pad001.ShapeColor # Gui.ActiveDocument.ActiveObject.LineColor=Gui.ActiveDocument.Pad001.LineColor # Gui.ActiveDocument.ActiveObject.PointColor=Gui.ActiveDocument.Pad001.PointColor App.ActiveDocument.recompute() #make cut out for rod #Sketch Points p1x = 0 p1y = gv.yRodStandoff #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Refined, 0,0, -gv.frameWidth/2,0, None, None) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch003') App.ActiveDocument.Sketch003.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),self.rodDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-2)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Radius',0,self.rodDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Distance',-1,1,0,3,gv.yRodStandoff)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Make Cut App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch003") Gui.activeDocument().hide("Refined") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Refined.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Refined.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Refined.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make Clamp hole #Sketch Points p1x = gv.yRodDiaMax/2+gv.printedToPrintedDia/2 p1y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch004') App.activeDocument().Sketch004.Support = uf.getFace(App.ActiveDocument.Pocket001, 0, 1, None, None, gv.yRodStandoff-gv.clampGap/2, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch004') App.ActiveDocument.Sketch004.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() #Add Dimensions App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('DistanceX',-1,1,0,3,gv.yRodDiaMax/2+gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('Radius',0,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut clamp hole though all App.activeDocument().addObject("PartDesign::Pocket","Pocket002") App.activeDocument().Pocket002.Sketch = App.activeDocument().Sketch004 App.activeDocument().Pocket002.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch004") Gui.activeDocument().hide("Pocket001") # Gui.ActiveDocument.Pocket002.ShapeColor=Gui.ActiveDocument.Pocket001.ShapeColor # Gui.ActiveDocument.Pocket002.LineColor=Gui.ActiveDocument.Pocket001.LineColor # Gui.ActiveDocument.Pocket002.PointColor=Gui.ActiveDocument.Pocket001.PointColor App.ActiveDocument.Pocket002.Length = 5.000000 App.ActiveDocument.Pocket002.Type = 1 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Mirror clamp hole App.activeDocument().addObject("PartDesign::Mirrored","Mirrored001") App.ActiveDocument.recompute() App.activeDocument().Mirrored001.Originals = [App.activeDocument().Pocket002,] App.activeDocument().Mirrored001.MirrorPlane = (App.activeDocument().Sketch004, ["V_Axis"]) Gui.activeDocument().Pocket002.Visibility=False # Gui.ActiveDocument.Mirrored001.ShapeColor=Gui.ActiveDocument.Pocket002.ShapeColor # Gui.ActiveDocument.Mirrored001.DisplayMode=Gui.ActiveDocument.Pocket002.DisplayMode App.ActiveDocument.Mirrored001.Originals = [App.ActiveDocument.Pocket002,] App.ActiveDocument.Mirrored001.MirrorPlane = (App.ActiveDocument.Sketch004,["V_Axis"]) App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() App.ActiveDocument.addObject('Part::Feature','Refined001').Shape=App.ActiveDocument.Mirrored001.Shape.removeSplitter() App.ActiveDocument.ActiveObject.Label='Refined001' Gui.ActiveDocument.Mirrored001.hide() Gui.ActiveDocument.ActiveObject.ShapeColor=Gui.ActiveDocument.Mirrored001.ShapeColor Gui.ActiveDocument.ActiveObject.LineColor=Gui.ActiveDocument.Mirrored001.LineColor Gui.ActiveDocument.ActiveObject.PointColor=Gui.ActiveDocument.Mirrored001.PointColor App.ActiveDocument.recompute() #Cut nut trap in bottom of support #Add Nut trap to right side #Sketch Points mat = uf.hexagonPoints(gv.yRodDiaMax/2+gv.printedToPrintedDia/2, 0, gv.clampNutFaceToFace, 0) p1x = mat[0][0] p1y = mat[0][1] p2x = mat[1][0] p2y = mat[1][1] p3x = mat[2][0] p3y = mat[2][1] p4x = mat[3][0] p4y = mat[3][1] p5x = mat[4][0] p5y = mat[4][1] p6x = mat[5][0] p6y = mat[5][1] p7x = mat[6][0] p7y = mat[6][1] hexRadius = mat[7][0] #make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch005') App.activeDocument().Sketch005.Support = uf.getFace(App.ActiveDocument.Refined001, None, None, None, None, 0, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch005') #error here App.ActiveDocument.Sketch005.addExternal("Refined001",uf.getEdge(App.ActiveDocument.Refined001, # gv.yRodDiaMax/2+gv.printedToPrintedDia/2, 0, None, None,None, None, 0,0, center = (gv.yRodDiaMax/2+gv.printedToPrintedDia/2,0,0), makeUnique = 1)) # radius = gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',5,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Circle(App.Vector(p7x,p7y,0),App.Vector(0,0,1),hexRadius)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',0,1,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',0,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',1,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',2,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',3,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',4,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',5,0)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',0,1)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',1,2)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',2,3)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',3,4)) App.ActiveDocument.Sketch005.toggleConstruction(6) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',-3,3,6,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Distance',0,2,4,gv.clampNutFaceToFace)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #cut nut trap out App.activeDocument().addObject("PartDesign::Pocket","Pocket003") App.activeDocument().Pocket003.Sketch = App.activeDocument().Sketch005 App.activeDocument().Pocket003.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch005") Gui.activeDocument().hide("Refined001") # Gui.ActiveDocument.Pocket003.ShapeColor=Gui.ActiveDocument.Pocket002.ShapeColor # Gui.ActiveDocument.Pocket003.LineColor=Gui.ActiveDocument.Pocket002.LineColor # Gui.ActiveDocument.Pocket003.PointColor=Gui.ActiveDocument.Pocket002.PointColor App.ActiveDocument.Pocket003.Length = gv.rodSupportNutTrapDepthMin App.ActiveDocument.Pocket003.Type = 0 App.ActiveDocument.Pocket003.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Mirror nut trap App.activeDocument().addObject("PartDesign::Mirrored","Mirrored002") App.ActiveDocument.recompute() App.activeDocument().Mirrored002.Originals = [App.activeDocument().Pocket003,] App.activeDocument().Mirrored002.MirrorPlane = (App.activeDocument().Sketch005, ["V_Axis"]) Gui.activeDocument().Pocket003.Visibility=False # Gui.ActiveDocument.Mirrored002.ShapeColor=Gui.ActiveDocument.Pocket003.ShapeColor # Gui.ActiveDocument.Mirrored002.DisplayMode=Gui.ActiveDocument.Pocket003.DisplayMode App.ActiveDocument.Mirrored002.Originals = [App.ActiveDocument.Pocket003,] App.ActiveDocument.Mirrored002.MirrorPlane = (App.ActiveDocument.Sketch005,["V_Axis"]) App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() Gui.getDocument(self.name).getObject("Mirrored001").Visibility=False #Set view to axometric # Gui.activeDocument().activeView().viewAxometric() #Make Cap try: # Gui.getDocument(self.name+"Clamp") # Gui.getDocument(self.name+"Clamp").resetEdit() App.getDocument(self.name+"Clamp").recompute() App.closeDocument(self.name+"Clamp") App.setActiveDocument("") App.ActiveDocument=None # Gui.ActiveDocument=None except: pass #make document App.newDocument(self.name+"Clamp") App.setActiveDocument(self.name+"Clamp") App.ActiveDocument=App.getDocument(self.name+"Clamp") # Gui.ActiveDocument=Gui.getDocument(self.name+"Clamp") App.ActiveDocument=App.getDocument(self.name+"Clamp") #Make clamp body #Sketch points p1x = -columnWidth/2 p1y = -gv.frameWidth/2 p2x = -columnWidth/2 p2y = gv.frameWidth/2 p3x = columnWidth/2 p3y = gv.frameWidth/2 p4x = columnWidth/2 p4y = -gv.frameWidth/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) # Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1 0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }') # Gui.activeDocument().setEdit('Sketch') App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',0,1,1,2,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,gv.frameWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',2,-columnWidth)) App.ActiveDocument.recompute() # Gui.getDocument(self.name+"Clamp").resetEdit() App.getDocument(self.name+"Clamp").recompute() #pad rod support App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = gv.yRodDiaMax/2+gv.clampThickness-gv.clampGap/2 App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #make cut out for rod #sketch points p1x = 0 p1y = gv.yRodDiaMax/2+gv.clampThickness p2x = -self.rodDia/2 p2y = gv.yRodDiaMax+gv.clampThickness p3x = self.rodDia/2 p3y = gv.yRodDiaMax+gv.clampThickness #Make Sketch #make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, -gv.frameWidth/2, 0, None, None) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, None, None, -gv.frameWidth/2, 0, gv.yRodDiaMax/2+gv.clampThickness-gv.clampGap/2, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),self.rodDia/2),math.pi,2*math.pi)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,1)) #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',0,3,-3,gv.clampGap/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,self.rodDia/2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name+"Clamp").resetEdit() App.getDocument(self.name+"Clamp").recompute() #Cut through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #cut Right clamp hole #Sketch points p1x = gv.yRodDiaMax/2+gv.printedToPrintedDia/2 p1y = 0 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, 0, 1, 0, 0, gv.yRodDiaMax/2+gv.clampThickness-gv.clampGap/2, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',0,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Distance',-1,1,0,3,gv.yRodDiaMax/2+gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name+"Clamp").resetEdit() App.getDocument(self.name+"Clamp").recompute() #Cut clamp hole through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pocket.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pocket.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Mirror clamp hole App.activeDocument().addObject("PartDesign::Mirrored","Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [App.activeDocument().Pocket001,] App.activeDocument().Mirrored.MirrorPlane = (App.activeDocument().Sketch002, ["V_Axis"]) Gui.activeDocument().Pocket001.Visibility=False # Gui.activeDocument().setEdit('Mirrored') # Gui.ActiveDocument.Mirrored.ShapeColor=Gui.ActiveDocument.Pocket001.ShapeColor # Gui.ActiveDocument.Mirrored.DisplayMode=Gui.ActiveDocument.Pocket001.DisplayMode App.ActiveDocument.Mirrored.Originals = [App.ActiveDocument.Pocket001,] App.ActiveDocument.Mirrored.MirrorPlane = (App.ActiveDocument.Sketch002,["V_Axis"]) App.ActiveDocument.recompute()
def draw(self): try: Gui.getDocument(self.name) Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None Gui.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) Gui.ActiveDocument=Gui.getDocument(self.name) #Make profile of angle and extrude it p1x = 0 p1y = 0 p2x = 0 p2y = gv.extruderMountAngleWidth p3x = p2y p3y = p2y p4x = p3x p4y = gv.extruderMountAngleWidth-gv.extruderMountAngleThickness p5x = gv.extruderMountAngleThickness p5y = p4y p6x = p5x p6y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.500000,0.500000,0.500000,0.500000)) # Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA\n position 87 0 0 \n orientation 0.57735026 0.57735026 0.57735026 2.0943952 \n nearDistance -112.887\n farDistance 287.28699\n aspectRatio 1\n focalDistance 87\n height 143.52005\n\n}') # Gui.activeDocument().setEdit('Sketch') App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',-1,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',5,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',5)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',2,5)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',0,gv.extruderMountAngleWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',2,-gv.extruderMountAngleThickness)) App.ActiveDocument.recompute() # Gui.getDocument('extruderMountAngle').resetEdit() App.getDocument('extruderMountAngle').recompute() #Extrude the extruder mount angle App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = gv.xCarriageWidth App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Cut holes for mounting to xCarriage #Sketch Points p1x = (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness)/2 p1y = gv.xCarriageWidth p2x = p1x p2y = gv.xCarriageWidth-gv.xCarriageMountHoleHorizOffset p3x = p1x p3y = gv.xCarriageMountHoleHorizOffset p4x = p1x p4y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, gv.extruderMountAngleThickness,0, None, None)#(App.ActiveDocument.Pad,["Face5"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') # App.ActiveDocument.Sketch001.addExternal("Pad","Edge16") App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.xCarriageWidth,0, gv.extruderMountAngleThickness, 0, (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness)/2,0)) App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,0, gv.extruderMountAngleThickness, 0, (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness)/2,0)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',2,2,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',-3,1,-3,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',4,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',4,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',3,gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',0,-gv.xCarriageMountHoleHorizOffset)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut mounting holes through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make mounting holes for extruderMountPlate #SketchPoints p1x = (gv.extruderMountAngleWidth+gv.extruderMountAngleThickness)/2 p1y = gv.xCarriageWidth p2x = p1x p2y = gv.xCarriageWidth-gv.xCarriageMountHoleHorizOffset p3x = p1x p3y = gv.xCarriageMountHoleHorizOffset p4x = p1x p4y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, None, None, None, None, gv.extruderMountAngleWidth-gv.extruderMountAngleThickness, 0)#(App.ActiveDocument.Pocket,["Face10"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, gv.xCarriageWidth,0, (gv.extruderMountAngleWidth+gv.extruderMountAngleThickness)/2, 0, (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness),0)) App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, 0,0, (gv.extruderMountAngleWidth+gv.extruderMountAngleThickness)/2, 0, (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness),0)) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',2,2,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',-3,1,-3,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',3,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',4,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',4,3)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',3,gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',0,-gv.xCarriageMountHoleHorizOffset)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut mounting holes through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pocket.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pocket.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit()
def draw(self): #helper Variables xRodClampMountHoleSpacingVert = gv.xRodSpacing-2*gv.xRodAxisToMountHoleDist xRodClampMountHoleSpacingHoriz = gv.xRodClampWidth-2*gv.xRodClampEdgeToMountHoleDist #safety check #xRodSpacing must be wide enough for the motor to be mounted between the rods #Make file and build part try: App.getDocument('xEndIdlerPlate').recompute() App.closeDocument("xEndIdlerPlate") App.setActiveDocument("") App.ActiveDocument=None except: pass App.newDocument("xEndIdlerPlate") App.setActiveDocument("xEndIdlerPlate") App.ActiveDocument=App.getDocument("xEndIdlerPlate") #Make the plate #Sketch points p1x = 0 p1y = 0 p2x = 0 p2y = gv.xMotorMountPlateWidth p3x = gv.xRodClampWidth p3y = gv.xMotorMountPlateWidth p4x = gv.xRodClampWidth p4y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,1,-1,1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',3,-gv.xRodClampWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',2,-gv.xMotorMountPlateWidth)) App.ActiveDocument.recompute() App.getDocument('xEndIdlerPlate').recompute() #extrude x motor mount plate App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.xMotorMountPlateThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #cut holes for xRodClamp #Sketch Points p1x = 0 p1y = gv.xMotorMountPlateWidth/2 p2x = gv.xRodClampWidth p2y = gv.xMotorMountPlateWidth/2 p3x = gv.xRodClampEdgeToMountHoleDist p3y = gv.xRodAxisToMountHoleDist p4x = gv.xRodClampEdgeToMountHoleDist p4y = gv.xMotorMountPlateWidth-gv.xRodAxisToMountHoleDist p5x = gv.xRodClampWidth-gv.xRodClampEdgeToMountHoleDist p5y = gv.xMotorMountPlateWidth-gv.xRodAxisToMountHoleDist p6x = gv.xRodClampWidth-gv.xRodClampEdgeToMountHoleDist p6y = gv.xRodAxisToMountHoleDist p7x = gv.xRodClampEdgeToMountHoleDist p7y = gv.xMotorMountPlateWidth/2 p8x = gv.xRodClampWidth/2 p8y = gv.xMotorMountPlateWidth/2 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, None, None, gv.xMotorMountPlateThickness, 0)#(App.ActiveDocument.Pad,["Face6"]) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,0, gv.xMotorMountPlateWidth/2,0, gv.xMotorMountPlateThickness,0)) App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.xRodClampWidth,0, gv.xMotorMountPlateWidth/2,0, gv.xMotorMountPlateThickness,0)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-4)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',4,2,1,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',4)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.Sketch001.toggleConstruction(4) App.ActiveDocument.Sketch001.toggleConstruction(3) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Point(App.Vector(p7x,p7y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',5,1,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',5,1,0)) App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,1,6,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p4x,p4y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',7,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,2,8,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p6x,p6y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',9,3,3,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',6,7)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',7,8)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',8,9)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p8x,p8y,0),App.Vector(0,0,1),gv.xEndIdlerHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',10,3,0)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',4, -xRodClampMountHoleSpacingHoriz)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',3,2,-4,gv.xRodClampEdgeToMountHoleDist)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',3,-xRodClampMountHoleSpacingVert)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',8,gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',10,gv.xEndIdlerHoleDia/2)) App.ActiveDocument.recompute() #add Symmetric constraints App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',1,1,1,2,5,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',1,1,2,2,10,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',-1,1,-3,2,0,1)) App.ActiveDocument.recompute() #exit sketch App.getDocument('xEndIdlerPlate').recompute() #Cut holes through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute()
def draw(self): try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #Make profile of angle and extrude it p1x = 0 p1y = 0 p2x = 0 p2y = gv.extruderMountAngleWidth p3x = p2y p3y = p2y p4x = p3x p4y = gv.extruderMountAngleWidth-gv.extruderMountAngleThickness p5x = gv.extruderMountAngleThickness p5y = p4y p6x = p5x p6y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.500000,0.500000,0.500000,0.500000)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',-1,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',5,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',5)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',2,5)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',0,gv.extruderMountAngleWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',2,-gv.extruderMountAngleThickness)) App.ActiveDocument.recompute() App.getDocument('extruderMountAngle').recompute() #Extrude the extruder mount angle App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.xCarriageWidth App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #Cut holes for mounting to xCarriage #Sketch Points p1x = (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness)/2 p1y = gv.xCarriageWidth p2x = p1x p2y = gv.xCarriageWidth-gv.xCarriageMountHoleHorizOffset p3x = p1x p3y = gv.xCarriageMountHoleHorizOffset p4x = p1x p4y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, gv.extruderMountAngleThickness,0, None, None)#(App.ActiveDocument.Pad,["Face5"]) App.activeDocument().recompute() # App.ActiveDocument.Sketch001.addExternal("Pad","Edge16") App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.xCarriageWidth,0, gv.extruderMountAngleThickness, 0, (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness)/2,0)) App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,0, gv.extruderMountAngleThickness, 0, (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness)/2,0)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',2,2,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',-3,1,-3,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',4,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',4,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',3,gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',0,-gv.xCarriageMountHoleHorizOffset)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut mounting holes through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Make mounting holes for extruderMountPlate #SketchPoints p1x = (gv.extruderMountAngleWidth+gv.extruderMountAngleThickness)/2 p1y = gv.xCarriageWidth p2x = p1x p2y = gv.xCarriageWidth-gv.xCarriageMountHoleHorizOffset p3x = p1x p3y = gv.xCarriageMountHoleHorizOffset p4x = p1x p4y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, None, None, None, None, gv.extruderMountAngleWidth-gv.extruderMountAngleThickness, 0)#(App.ActiveDocument.Pocket,["Face10"]) App.activeDocument().recompute() App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, gv.xCarriageWidth,0, (gv.extruderMountAngleWidth+gv.extruderMountAngleThickness)/2, 0, (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness),0)) App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, 0,0, (gv.extruderMountAngleWidth+gv.extruderMountAngleThickness)/2, 0, (gv.extruderMountAngleWidth-gv.extruderMountAngleThickness),0)) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',2,2,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',-3,1,-3,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',3,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',4,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',4,3)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',3,gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',0,-gv.xCarriageMountHoleHorizOffset)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut mounting holes through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute()
def draw(self): try: Gui.getDocument(self.name) Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None Gui.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) Gui.ActiveDocument=Gui.getDocument(self.name) #extrude crossBarTop uf.extrudeFrameMember(self.name, gv.crossBarLength) #Make Holes for zMotorMount plates #Sketch points p1x = 0 p1y = 0 p2x = p1x p2y = (gv.crossBarLength - gv.yRodSpacing - gv.yRodSupportMountHoleSpacing)/2 p3x = p1x p3y = (gv.crossBarLength - gv.yRodSpacing + gv.yRodSupportMountHoleSpacing)/2 p4x = p1x p4y = (gv.crossBarLength + gv.yRodSpacing - gv.yRodSupportMountHoleSpacing)/2 p5x = p1x p5y = (gv.crossBarLength + gv.yRodSpacing + gv.yRodSupportMountHoleSpacing)/2 p6x = p1x p6y = gv.crossBarLength #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, gv.crossBarLength/2, 0, None, None, gv.frameHeight/2, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.crossBarLength, 0, None, None, gv.frameHeight/2, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',-1,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',4,2,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',1,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',4,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.Sketch001.toggleConstruction(3) App.ActiveDocument.Sketch001.toggleConstruction(4) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',5,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',6,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p4x,p4y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',7,3,2,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',8,3,3,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',8,7)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',7,6)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',6,5)) App.ActiveDocument.recompute() #Add Dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',8,gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',3,gv.yRodSupportMountHoleSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',4,p2y)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut holes through All App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make hole for yBeltIdler #Sketch Points p1x = 0 p1y = 0 p2x = p1x p2y = gv.crossBarLength/2 p3x = p1x p3y = gv.crossBarLength #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, gv.crossBarLength/2, 0, None, None, gv.frameHeight/2, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, gv.crossBarLength, 0, None, None, gv.frameHeight/2, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',-1,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',1,2,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',1,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.yBeltIdlerHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',2,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.movePoint(1,0,App.Vector(0.000000,0.000000,0),1) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',2,gv.yBeltIdlerHoleDia/2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut hole through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pocket.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pocket.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit()
def draw(self): #helper Variables #Find the widest component of the anchor and set the width to that baseWidth = (gv.printedToPrintedDia+2*gv.mountToPrintedPadding if gv.printedToPrintedDia+2*gv.mountToPrintedPadding > gv.yBeltAnchorWidth else gv.yBeltAnchorWidth) baseLength = (gv.yBeltAnchorLength +2*gv.printedToPrintedDia +4*gv.mountToPrintedPadding) #Make file and build part try: Gui.getDocument("yBeltAnchor") Gui.getDocument("yBeltAnchor").resetEdit() App.getDocument("yBeltAnchor").recompute() App.closeDocument("yBeltAnchor") App.setActiveDocument("") App.ActiveDocument=None Gui.ActiveDocument=None except: pass #Create Document App.newDocument("yBeltAnchor") App.setActiveDocument("yBeltAnchor") App.ActiveDocument=App.getDocument("yBeltAnchor") Gui.ActiveDocument=Gui.getDocument("yBeltAnchor") #Make base #Sketch points p1x = -baseLength/2 p1y = -baseWidth/2 p2x = -baseLength/2 p2y = baseWidth/2 p3x = baseLength/2 p3y = baseWidth/2 p4x = baseLength/2 p4y = -baseWidth/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1 0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }') # Gui.activeDocument().setEdit('Sketch') App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',1,2,0,1,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,baseWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,baseLength)) App.ActiveDocument.recompute() # Gui.getDocument("yBeltAnchor").resetEdit() App.getDocument("yBeltAnchor").recompute() #Pad base App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = gv.tabThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Cut hole on right side #Sketch points p1x = gv.yBeltAnchorLength/2+gv.mountToPrintedPadding+gv.printedToPrintedDia/2 p1y = 0 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, 0,0, 0, 0, gv.tabThickness, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',-1,1,0,3,p1x)) App.ActiveDocument.recompute() # Gui.getDocument('yBeltAnchor').resetEdit() App.getDocument('yBeltAnchor').recompute() #Cut hole through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Mirror the hole App.activeDocument().addObject("PartDesign::Mirrored","Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [App.activeDocument().Pocket,] App.activeDocument().Mirrored.MirrorPlane = (App.activeDocument().Sketch001, ["V_Axis"]) Gui.activeDocument().Pocket.Visibility=False # Gui.ActiveDocument.Mirrored.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Mirrored.DisplayMode=Gui.ActiveDocument.Pocket.DisplayMode #Make the column #Sketch points p1x = -gv.yBeltAnchorWidth/2 p1y = -gv.yBeltAnchorLength/2 p2x = -gv.yBeltAnchorWidth/2 p2y = gv.yBeltAnchorLength/2 p3x = gv.yBeltAnchorWidth/2 p3y = gv.yBeltAnchorLength/2 p4x = gv.yBeltAnchorWidth/2 p4y = -gv.yBeltAnchorLength/2 App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().recompute() App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Mirrored, 0,0, 0, 0, gv.tabThickness, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',1,2,0,1,-1,1)) App.ActiveDocument.recompute() #Add Dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',1,gv.yBeltAnchorWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',2,-gv.yBeltAnchorLength)) App.ActiveDocument.recompute() # Gui.getDocument('yBeltAnchor').resetEdit() App.getDocument('yBeltAnchor').recompute() #Extrude column App.activeDocument().addObject("PartDesign::Pad","Pad001") App.activeDocument().Pad001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pad001.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Mirrored") # Gui.ActiveDocument.Pad001.ShapeColor=Gui.ActiveDocument.Mirrored.ShapeColor # Gui.ActiveDocument.Pad001.LineColor=Gui.ActiveDocument.Mirrored.LineColor # Gui.ActiveDocument.Pad001.PointColor=Gui.ActiveDocument.Mirrored.PointColor App.ActiveDocument.Pad001.Length = gv.yBeltAnchorHeight-gv.tabThickness App.ActiveDocument.Pad001.Reversed = 0 App.ActiveDocument.Pad001.Midplane = 0 App.ActiveDocument.Pad001.Length2 = 100.000000 App.ActiveDocument.Pad001.Type = 0 App.ActiveDocument.Pad001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Cut slot in column #Sketch Points p1x = -gv.yBeltAnchorSlotWidth/2 p1y = gv.tabThickness p2x = -gv.yBeltAnchorSlotWidth/2 p2y = gv.yBeltAnchorHeight-gv.yBeltAnchorBridgeThickness p3x = gv.yBeltAnchorSlotWidth/2 p3y = gv.yBeltAnchorHeight-gv.yBeltAnchorBridgeThickness p4x = gv.yBeltAnchorSlotWidth/2 p4y = gv.tabThickness #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') App.activeDocument().recompute() App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Pad001, None, None, -gv.yBeltAnchorWidth/2, 0, None, None) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch003') App.ActiveDocument.Sketch003.addExternal("Pad001",uf.getEdge(App.ActiveDocument.Pad001, 0,0, -gv.yBeltAnchorWidth/2, 0, gv.tabThickness,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Symmetric',1,2,2,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addExternal("Pad001","Edge1") App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Distance',1,2,-4,gv.yBeltAnchorBridgeThickness)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('DistanceX',0,gv.yBeltAnchorSlotWidth)) App.ActiveDocument.recompute() # Gui.getDocument('yBeltAnchor').resetEdit() App.getDocument('yBeltAnchor').recompute() #Cut Slot through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch003") Gui.activeDocument().hide("Pad001") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pad001.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pad001.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pad001.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Refine Shape App.ActiveDocument.addObject('Part::Feature','Pocket001').Shape=App.ActiveDocument.Pocket001.Shape.removeSplitter() App.ActiveDocument.ActiveObject.Label=App.ActiveDocument.Pocket001.Label Gui.ActiveDocument.Pocket001.hide() # Gui.ActiveDocument.ActiveObject.ShapeColor=Gui.ActiveDocument.Pocket001.ShapeColor # Gui.ActiveDocument.ActiveObject.LineColor=Gui.ActiveDocument.Pocket001.LineColor # Gui.ActiveDocument.ActiveObject.PointColor=Gui.ActiveDocument.Pocket001.PointColor App.ActiveDocument.recompute() #Make view axiometric # Gui.activeDocument().activeView().viewAxometric()
def draw(self): #vars width = ((gv.leadScrewCouplerScrewClampDia if gv.leadScrewCouplerScrewClampDia > gv.leadScrewCouplerShaftClampDia else gv.leadScrewCouplerShaftClampDia) + 2*gv.printedToPrintedNutFaceToFace/math.sin(math.pi/3) + 2*gv.leadScrewCouplerNutTrapPadding) thickness = (gv.leadScrewCouplerBaseThicnkess +(gv.leadScrewCouplerScrewClampDia if gv.leadScrewCouplerScrewClampDia > gv.leadScrewCouplerShaftClampDia else gv.leadScrewCouplerShaftClampDia)/2 -gv.leadScrewCouplerGap/2) cornerRadius = gv.printedToPrintedNutFaceToFace/(2*math.sin(math.pi/3))+gv.leadScrewCouplerNutTrapPadding try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #make base of coupler #sketch Points x1 = -width/2+cornerRadius y1 = -gv.leadScrewCouplerLength/2 x2 = -width/2 y2 = y1+cornerRadius x3 = x2 y3 = -y2 x4 = x1 y4 = -y1 x5 = -x1 y5 = y4 x6 = -x2 y6 = y3 x7 = x6 y7 = y2 x8 = x5 y8 = y1 x9 = x1 y9 = y2 x10 = x1 y10 = y3 x11 = x5 y11 = y3 x12 = x5 y12 = y2 App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1 0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }') App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x2,y2,0),App.Vector(x3,y3,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x4,y4,0),App.Vector(x5,y5,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x6,y6,0),App.Vector(x7,y7,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x8,y8,0),App.Vector(x1,y1,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(x9,y9,0),App.Vector(0,0,1),cornerRadius),-math.pi,-math.pi/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4,2,3,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(x10,y10,0),App.Vector(0,0,1),cornerRadius),math.pi/2,math.pi)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',5,1,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,5,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(x11,y11,0),App.Vector(0,0,1),cornerRadius),0,math.pi/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',6,2,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',6,1,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(x12,y12,0),App.Vector(0,0,1),cornerRadius),-math.pi/2,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',7,2,2,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',7,1,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(x10,y10,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',8,3,5,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(x9,y9,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',9,3,4,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(x11,y11,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',10,3,6,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(x12,y12,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',11,3,7,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x3,y3,0),App.Vector(x6,y6,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(-14.875409,-7.565940,0),App.Vector(14.827794,-7.586103,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',13,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',13,2,2,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(-9.913898,12.500083,0),App.Vector(-9.913898,-12.500041,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',14,1,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',14,2,3,2)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(9.913898,12.500000,0),App.Vector(9.913898,-12.500000,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',15,1,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',15,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',12,1,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',12,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',5,6)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',6,7)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',8,10)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',10,11)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',11,9)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',1,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.toggleConstruction(14) App.ActiveDocument.Sketch.toggleConstruction(12) App.ActiveDocument.Sketch.toggleConstruction(15) App.ActiveDocument.Sketch.toggleConstruction(13) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',4,3,13)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',4,3,14)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',5,3,14)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',5,3,12)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',6,3,12)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',6,3,15)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',7,3,15)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',5,3,7,3,-1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius',10,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',15,-gv.leadScrewCouplerLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',13,width)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius',7,cornerRadius)) App.ActiveDocument.recompute() #Pad coupler body App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = thickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #Cut space for motorShaft #sketch points x1 = 0 y1 = gv.leadScrewCouplerBaseThicnkess+(gv.leadScrewCouplerScrewClampDia if gv.leadScrewCouplerScrewClampDia > gv.leadScrewCouplerShaftClampDia else gv.leadScrewCouplerShaftClampDia)/2 #make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, 0,0, -gv.leadScrewCouplerLength/2,0, None, None) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(x1,y1,0),App.Vector(0,0,1),gv.leadScrewCouplerShaftClampDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,gv.leadScrewCouplerShaftClampDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',-1,1,0,3,y1)) App.ActiveDocument.recompute() #Cut Pocket App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") App.ActiveDocument.Pocket.Length = gv.leadScrewCouplerLength/2 App.ActiveDocument.Pocket.Type = 0 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() Gui.activeDocument().resetEdit() #Cut space for lead screw #Sketch Points x1 = 0 y1 = gv.leadScrewCouplerBaseThicnkess+(gv.leadScrewCouplerScrewClampDia if gv.leadScrewCouplerScrewClampDia > gv.leadScrewCouplerShaftClampDia else gv.leadScrewCouplerShaftClampDia)/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, 0,0, 0,0, 0, 1) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, None, None, 0, 0, None, None, radius=gv.leadScrewCouplerShaftClampDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(x1,y1,0),App.Vector(0,0,1),gv.leadScrewCouplerScrewClampDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,3,-3,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',0,gv.leadScrewCouplerScrewClampDia/2)) App.ActiveDocument.recompute() #Cut Pocket App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() Gui.activeDocument().resetEdit() #Make nut traps in bottom of clamp #Sketch points x1 = -width/2+cornerRadius y1 = -gv.leadScrewCouplerLength/2+cornerRadius x2 = x1 y2 = -y1 x3 = -x1 y3 = y2 x4 = x3 y4 = y1 App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Pocket001, None,None, None,None, 0,0) App.activeDocument().recompute() App.ActiveDocument.Sketch003.addExternal("Pocket001",uf.getEdge(App.ActiveDocument.Pocket, 0, -1, 0, 1, 0, 0, radius=gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addExternal("Pocket001",uf.getEdge(App.ActiveDocument.Pocket, 0, -1, 0, -1, 0, 0, radius=gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addExternal("Pocket001",uf.getEdge(App.ActiveDocument.Pocket, 0, 1, 0, -1, 0, 0, radius=gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addExternal("Pocket001",uf.getEdge(App.ActiveDocument.Pocket, 0, 1, 0, 1, 0, 0, radius=gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() uf.drawHexagon(x1,y1,gv.printedToPrintedNutFaceToFace,0) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',6,3,-3,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',5)) App.ActiveDocument.recompute() uf.drawHexagon(x2,y2,gv.printedToPrintedNutFaceToFace,0) uf.drawHexagon(x3,y3,gv.printedToPrintedNutFaceToFace,0) uf.drawHexagon(x4,y4,gv.printedToPrintedNutFaceToFace,0) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',12)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',19)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',26)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',13,3,-4,3)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',20,3,-5,3)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',27,3,-6,3)) #Cut Pocket App.activeDocument().addObject("PartDesign::Pocket","Pocket002") App.activeDocument().Pocket002.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket002.Length = gv.mountToPrintedNutThickness App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch003") Gui.activeDocument().hide("Pocket001") App.ActiveDocument.Pocket002.Type = 0 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute()
def draw(self): try: Gui.getDocument(self.name) Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument = None Gui.ActiveDocument = None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument = App.getDocument(self.name) Gui.ActiveDocument = Gui.getDocument(self.name) #Make profile of angle and extrude it p1x = 0 p1y = 0 p2x = 0 p2y = gv.extruderMountAngleWidth p3x = p2y p3y = p2y p4x = p3x p4y = gv.extruderMountAngleWidth - gv.extruderMountAngleThickness p5x = gv.extruderMountAngleThickness p5y = p4y p6x = p5x p6y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch') App.activeDocument().Sketch.Placement = App.Placement( App.Vector(0.000000, 0.000000, 0.000000), App.Rotation(0.500000, 0.500000, 0.500000, 0.500000)) # Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA\n position 87 0 0 \n orientation 0.57735026 0.57735026 0.57735026 2.0943952 \n nearDistance -112.887\n farDistance 287.28699\n aspectRatio 1\n focalDistance 87\n height 143.52005\n\n}') # Gui.activeDocument().setEdit('Sketch') App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', -1, 1, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('PointOnObject', 0, 2, -2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p5x, p5y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 2, 2, 3, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p5x, p5y, 0), App.Vector(p6x, p6y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 3, 2, 4, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p6x, p6y, 0), App.Vector(p1x, p1y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 4, 2, 5, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 5, 2, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 5)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Equal', 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Equal', 2, 5)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceY', 0, gv.extruderMountAngleWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceY', 2, -gv.extruderMountAngleThickness)) App.ActiveDocument.recompute() # Gui.getDocument('extruderMountAngle').resetEdit() App.getDocument('extruderMountAngle').recompute() #Extrude the extruder mount angle App.activeDocument().addObject("PartDesign::Pad", "Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = gv.xCarriageWidth App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Cut holes for mounting to xCarriage #Sketch Points p1x = (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness) / 2 p1y = gv.xCarriageWidth p2x = p1x p2y = gv.xCarriageWidth - gv.xCarriageMountHoleHorizOffset p3x = p1x p3y = gv.xCarriageMountHoleHorizOffset p4x = p1x p4y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch001') App.activeDocument().Sketch001.Support = uf.getFace( App.ActiveDocument.Pad, None, None, gv.extruderMountAngleThickness, 0, None, None) #(App.ActiveDocument.Pad,["Face5"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') # App.ActiveDocument.Sketch001.addExternal("Pad","Edge16") App.ActiveDocument.Sketch001.addExternal( "Pad", uf.getEdge( App.ActiveDocument.Pad, gv.xCarriageWidth, 0, gv.extruderMountAngleThickness, 0, (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness) / 2, 0)) App.ActiveDocument.Sketch001.addExternal( "Pad", uf.getEdge( App.ActiveDocument.Pad, 0, 0, gv.extruderMountAngleThickness, 0, (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness) / 2, 0)) App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('PointOnObject', 0, 1, -3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('PointOnObject', 2, 2, -4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Symmetric', -3, 1, -3, 2, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p2x, p2y, 0), App.Vector(0, 0, 1), gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 3, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p3x, p3y, 0), App.Vector(0, 0, 1), gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 4, 3, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 4, 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Radius', 3, gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('DistanceY', 0, -gv.xCarriageMountHoleHorizOffset)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut mounting holes through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make mounting holes for extruderMountPlate #SketchPoints p1x = (gv.extruderMountAngleWidth + gv.extruderMountAngleThickness) / 2 p1y = gv.xCarriageWidth p2x = p1x p2y = gv.xCarriageWidth - gv.xCarriageMountHoleHorizOffset p3x = p1x p3y = gv.xCarriageMountHoleHorizOffset p4x = p1x p4y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch002') App.activeDocument().Sketch002.Support = uf.getFace( App.ActiveDocument.Pocket, None, None, None, None, gv.extruderMountAngleWidth - gv.extruderMountAngleThickness, 0) #(App.ActiveDocument.Pocket,["Face10"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addExternal( "Pocket", uf.getEdge( App.ActiveDocument.Pocket, gv.xCarriageWidth, 0, (gv.extruderMountAngleWidth + gv.extruderMountAngleThickness) / 2, 0, (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness), 0)) App.ActiveDocument.Sketch002.addExternal( "Pocket", uf.getEdge( App.ActiveDocument.Pocket, 0, 0, (gv.extruderMountAngleWidth + gv.extruderMountAngleThickness) / 2, 0, (gv.extruderMountAngleWidth - gv.extruderMountAngleThickness), 0)) App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 0, 1, -3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 2, 2, -4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Symmetric', -3, 1, -3, 2, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p2x, p2y, 0), App.Vector(0, 0, 1), gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 3, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p3x, p3y, 0), App.Vector(0, 0, 1), gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 4, 3, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 4, 3)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Radius', 3, gv.mountToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('DistanceY', 0, -gv.xCarriageMountHoleHorizOffset)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut mounting holes through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pocket.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pocket.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute()
def draw(self): try: Gui.getDocument(self.name) Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument = None Gui.ActiveDocument = None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument = App.getDocument(self.name) Gui.ActiveDocument = Gui.getDocument(self.name) #extrude crossBarTop uf.extrudeFrameMember(self.name, gv.crossBarLength) #Make Holes for zMotorMount plates #Sketch points p1x = 0 p1y = 0 p2x = p1x p2y = (gv.crossBarLength - gv.yRodSpacing - gv.yRodSupportMountHoleSpacing) / 2 p3x = p1x p3y = (gv.crossBarLength - gv.yRodSpacing + gv.yRodSupportMountHoleSpacing) / 2 p4x = p1x p4y = (gv.crossBarLength + gv.yRodSpacing - gv.yRodSupportMountHoleSpacing) / 2 p5x = p1x p5y = (gv.crossBarLength + gv.yRodSpacing + gv.yRodSupportMountHoleSpacing) / 2 p6x = p1x p6y = gv.crossBarLength #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch001') App.activeDocument().Sketch001.Support = uf.getFace( App.ActiveDocument.Pad, gv.crossBarLength / 2, 0, None, None, gv.frameHeight / 2, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.Sketch001.addExternal( "Pad", uf.getEdge(App.ActiveDocument.Pad, gv.crossBarLength, 0, None, None, gv.frameHeight / 2, 0)) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', -1, 1, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p5x, p5y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 2, 2, 3, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p5x, p5y, 0), App.Vector(p6x, p6y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 3, 2, 4, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('PointOnObject', 4, 2, -3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Vertical', 4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 1, 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 4, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.Sketch001.toggleConstruction(3) App.ActiveDocument.Sketch001.toggleConstruction(4) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p2x, p2y, 0), App.Vector(0, 0, 1), gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 5, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p3x, p3y, 0), App.Vector(0, 0, 1), gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 6, 3, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p4x, p4y, 0), App.Vector(0, 0, 1), gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 7, 3, 2, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p5x, p5y, 0), App.Vector(0, 0, 1), gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 8, 3, 3, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 8, 7)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 7, 6)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 6, 5)) App.ActiveDocument.recompute() #Add Dimensions App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Radius', 8, gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('DistanceY', 3, gv.yRodSupportMountHoleSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('DistanceY', 4, p2y)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut holes through All App.activeDocument().addObject("PartDesign::Pocket", "Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make holes for yMotorMount #Sketch points p1x = 0 p1y = 0 p2x = p1x p2y = gv.crossBarLength / 2 - gv.yMotorMountPlateWidth / 4 p3x = p1x p3y = gv.crossBarLength / 2 p4x = p1x p4y = gv.crossBarLength / 2 + gv.yMotorMountPlateWidth / 4 p5x = p1x p5y = gv.crossBarLength #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch002') App.activeDocument().Sketch002.Support = uf.getFace( App.ActiveDocument.Pocket, gv.crossBarLength / 2, 0, None, None, gv.frameHeight / 2, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addExternal( "Pocket", uf.getEdge(App.ActiveDocument.Pocket, gv.crossBarLength, 0, None, None, gv.frameHeight / 2, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', -1, 1, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p5x, p5y, 0))) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 2, 2, 3, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 3, 2, -3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Symmetric', -1, 1, 3, 2, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(3) App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p4x, p4y, 0), App.Vector(0, 0, 1), 4.740426)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 4, 3, 2, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p2x, p2y, 0), App.Vector(0, 0, 1), 5.552865)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 5, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 4, 5)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Radius', 4, gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Distance', 2, 2, 0, 2, gv.yMotorMountPlateWidth / 2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut yMotorMount holes through cross bar App.activeDocument().addObject("PartDesign::Pocket", "Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pocket.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pocket.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute()
def draw(self): #Helper variables width = 2*gv.xEndstopPadding+2*gv.xEndstopChannelWidth + gv.xEndstopContactSpacing try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #Sketch Points p1x = -(width/2) p1y = -(gv.printedToPrintedDia/2+gv.xEndstopPadding) p2x = p1x p2y = gv.xEndstopLength+p1y p3x = -p1x p3y = p2y p4x = p3x p4y = p1y p5x = 0 p5y = 0 #make endstop body App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',1,2,2,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4,3,-1,1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,gv.xEndstopLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,width)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius',4,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Distance',-1,1,0,gv.xEndstopPadding+gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Pad sketch App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.xEndstopHeight App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #Cut Channels #Sketch Points p1x = -width/2 p1y = (gv.printedToPrintedDia/2 + gv.xEndstopPadding + gv.xEndstopChannelWidth + gv.xEndstopContactSpacing) p2x = p1x p2y = (gv.printedToPrintedDia/2 + gv.xEndstopPadding + 2*gv.xEndstopChannelWidth + gv.xEndstopContactSpacing) p3x = p1x+gv.xEndstopPadding p3y = p2y p4x = p3x p4y = gv.xEndstopLength-(gv.printedToPrintedDia/2+gv.xEndstopPadding) p5x = p4x+gv.xEndstopChannelWidth p5y = p4y p6x = p5x p6y = p1y p7x = p1x p7y = (gv.printedToPrintedDia/2 + gv.xEndstopPadding) p8x = p1x p8y = p7y+gv.xEndstopChannelWidth p9x = p6x+gv.xEndstopContactSpacing p9y = p8y p10x = p9x p10y = p4y p11x = p9x+gv.xEndstopChannelWidth p11y = p4y p12x = p11x p12y = p7y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None,None, None, None, gv.xEndstopHeight, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,0, 0,1, gv.xEndstopHeight, 0)) App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, -width/2,0, None, None, gv.xEndstopHeight, 0)) App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, width/2,0, None, None, gv.xEndstopHeight, 0)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',2,2,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',3,2,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',5,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',5)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',3,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p7x,p7y,0),App.Vector(p8x,p8y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',6,1,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',6,2,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p8x,p8y,0),App.Vector(p9x,p9y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',6,2,7,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',7)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p9x,p9y,0),App.Vector(p10x,p10y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',7,2,8,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',8,2,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',8)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p10x,p10y,0),App.Vector(p11x,p11y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',8,2,9,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',9,2,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p11x,p11y,0),App.Vector(p12x,p12y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',9,2,10,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',10)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p12x,p12y,0),App.Vector(p7x,p7y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',10,2,11,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',11,2,6,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',11)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',6,9)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',9,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p10x,p10y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',12,1,3,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',12,2,8,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p8x,p8y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',13,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',13,2,6,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(13) App.ActiveDocument.Sketch001.toggleConstruction(12) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',12,13)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',0,gv.xEndstopChannelWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',13,-gv.xEndstopContactSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',-1,1,11,p7y)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',9,2,-5,2,gv.xEndstopPadding)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut channels App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 3.000000 App.ActiveDocument.Pocket.Type = 0 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Make cap try: App.getDocument(self.name+"Cap").recompute() App.closeDocument(self.name+"Cap") App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument(self.name+"Cap") App.setActiveDocument(self.name+"Cap") App.ActiveDocument=App.getDocument(self.name+"Cap") #Sketch Points p1x = -(width/2) p1y = -(gv.printedToPrintedDia/2+gv.xEndstopPadding) p2x = p1x p2y = gv.xEndstopLength+p1y p3x = -p1x p3y = p2y p4x = p3x p4y = p1y p5x = 0 p5y = 0 #make endstop body App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',1,2,2,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4,3,-1,1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,gv.xEndstopLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,width)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius',4,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Distance',-1,1,0,gv.xEndstopPadding+gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name+"Cap").recompute() #Pad sketch App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.xEndstopCapThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute()
def draw(self): #helper Variables #Make the coresponding xRodClamp try: Gui.getDocument(self.name) Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None Gui.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) Gui.ActiveDocument=Gui.getDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #Make clamp body #Sketch points p1x = -gv.zEndstopSupportWidth/2 p1y = 0 p2x = -gv.zEndstopSupportWidth/2 p2y = gv.zEndStopClampLength p3x = gv.zEndstopSupportWidth/2 p3y = gv.zEndStopClampLength p4x = gv.zEndstopSupportWidth/2 p4y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) # Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1 0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }') # Gui.activeDocument().setEdit('Sketch') App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',0,2,0,1,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,gv.zEndStopClampLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',2,-gv.zEndstopSupportWidth)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #pad rod support App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = gv.zRodDiaL/2+gv.zEndstopBodyThickness-gv.clampGap/2 App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #make cut out for rod #sketch points p1x = 0 p1y = gv.zRodDiaL/2+gv.zEndstopBodyThickness #Make Sketch #make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, 0,0, None, None) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,0, 0,0, gv.zRodDiaL/2+gv.zEndstopBodyThickness-gv.clampGap/2, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.zRodDiaL/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-2)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',0,3,-3,gv.clampGap/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,gv.zRodDiaL/2)) App.ActiveDocument.recompute() Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() Gui.activeDocument().resetEdit() #cut Right clamp hole #Sketch points p1x = gv.zRodDiaL/2+gv.printedToPrintedDia/2 p1y = gv.printedToPrintedDia/2 + gv.mountToPrintedPadding #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, 0,1, None, None, gv.zRodDiaL/2+gv.zEndstopBodyThickness-gv.clampGap/2, 0) App.activeDocument().recompute() App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, gv.zEndstopSupportWidth/2,0, gv.zEndStopClampLength/2,0, gv.zRodDiaL/2+gv.zEndstopBodyThickness-gv.clampGap/2, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Distance',0,3,-3,p1y)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',-1,1,0,3,p1y)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',0,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut clamp hole through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pocket.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pocket.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Mirror clamp hole App.activeDocument().addObject("PartDesign::Mirrored","Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [App.activeDocument().Pocket001,] App.activeDocument().Mirrored.MirrorPlane = (App.activeDocument().Sketch002, ["V_Axis"]) Gui.activeDocument().Pocket001.Visibility=False # Gui.activeDocument().setEdit('Mirrored') # Gui.ActiveDocument.Mirrored.ShapeColor=Gui.ActiveDocument.Pocket001.ShapeColor # Gui.ActiveDocument.Mirrored.DisplayMode=Gui.ActiveDocument.Pocket001.DisplayMode App.ActiveDocument.Mirrored.Originals = [App.ActiveDocument.Pocket001,] App.ActiveDocument.Mirrored.MirrorPlane = (App.ActiveDocument.Sketch002,["V_Axis"]) App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make channel for contact #Sketch Points p1x = -gv.zEndstopSupportWidth/2 p1y = -(2*gv.mountToPrintedPadding + gv.printedToPrintedDia + 2*gv.xEndstopChannelWidth +gv.zEndstopJogWidth) p2x = p1x p2y = -(2*gv.mountToPrintedPadding + gv.printedToPrintedDia +gv.zEndstopJogWidth) p3x = -gv.zEndstopJogWidth p3y = p2y p4x = 0 p4y = -(2*gv.mountToPrintedPadding + gv.printedToPrintedDia) p5x = -p3x p5y = p2y p6x = -p1x p6y = p2y p7x = p6x p7y = p1y p8x = p5x-(gv.xEndstopChannelWidth*math.tan(math.pi/8)) p8y = p1y p9x = p8x-math.pow(2,0.5)*gv.xEndstopChannelWidth*math.tan(math.pi/8) p9y = p1y+math.pow(2,0.5)*gv.xEndstopChannelWidth*math.tan(math.pi/8) p10x = p4x p10y = p1y+gv.zEndstopJogWidth-math.pow(2,0.5)*gv.xEndstopChannelWidth*math.tan(math.pi/8) p11x = p3x+(gv.xEndstopChannelWidth*math.tan(math.pi/8))+math.pow(2,0.5)*gv.xEndstopChannelWidth*math.tan(math.pi/8) p11y = p9y p12x = p3x+(gv.xEndstopChannelWidth*math.tan(math.pi/8)) p12y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Mirrored, 0,0, None, None, 0, 0) App.activeDocument().recompute() App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch003') App.ActiveDocument.Sketch003.addExternal("Mirrored",uf.getEdge(App.ActiveDocument.Mirrored, -gv.zEndstopSupportWidth/2,0, gv.zEndStopClampLength/2,0, 0, 0)) App.ActiveDocument.Sketch003.addExternal("Mirrored",uf.getEdge(App.ActiveDocument.Mirrored, gv.zEndstopSupportWidth/2,0, gv.zEndStopClampLength/2,0, 0, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',4)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p7x,p7y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',4,2,-4)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p7x,p7y,0),App.Vector(p8x,p8y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',5,2,6,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',5,2,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p8x,p8y,0),App.Vector(p9x,p9y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',6,2,7,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p9x,p9y,0),App.Vector(p10x,p10y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',7,2,8,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',8,2,-3)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',8)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p10x,p10y,0),App.Vector(p11x,p11y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',8,2,9,1)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',9)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',3,2,-4)) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p11x,p11y,0),App.Vector(p12x,p12y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',9,2,10,1)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',10,2,7)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p12x,p12y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p11x,p11y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p9x,p9y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',10,2,11,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',11,2,0,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',6)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',11)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',2,2,-2)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',8,2,-2)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Parallel',9,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Parallel',3,8)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.toggleConstruction(13) App.ActiveDocument.Sketch003.toggleConstruction(12) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Equal',0,12)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Equal',12,13)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Equal',13,5)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Perpendicular',2,3)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',12,2,9,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',12,1,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',3,2,13,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',13,2,7,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Perpendicular',12,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Perpendicular',13,3)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Parallel',10,9)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Parallel',7,8)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',6,2,11)) #add dimensions App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('DistanceY',5,-gv.xEndstopChannelWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('DistanceY',3,2,2,2,gv.zEndstopJogWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('DistanceY',-1,1,2,2,-9.963388)) App.ActiveDocument.recompute() Gui.getDocument('zEndstop').resetEdit() App.getDocument('zEndstop').recompute() #Cut top channel App.activeDocument().addObject("PartDesign::Pocket","Pocket002") App.activeDocument().Pocket002.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket002.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch003") Gui.activeDocument().hide("Mirrored") Gui.activeDocument().setEdit('Pocket002') Gui.ActiveDocument.Pocket002.ShapeColor=Gui.ActiveDocument.Mirrored.ShapeColor Gui.ActiveDocument.Pocket002.LineColor=Gui.ActiveDocument.Mirrored.LineColor Gui.ActiveDocument.Pocket002.PointColor=Gui.ActiveDocument.Mirrored.PointColor App.ActiveDocument.Pocket002.Length = 3.000000 App.ActiveDocument.Pocket002.Type = 0 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute() Gui.activeDocument().resetEdit() #Use a linear pattern to add other channel App.activeDocument().addObject("PartDesign::LinearPattern","LinearPattern") App.ActiveDocument.recompute() App.activeDocument().LinearPattern.Originals = [App.activeDocument().Pocket002,] App.activeDocument().LinearPattern.Direction = (App.activeDocument().Sketch003, ["H_Axis"]) App.activeDocument().LinearPattern.Length = 100 App.activeDocument().LinearPattern.Occurrences = 2 Gui.activeDocument().Pocket002.Visibility=False Gui.activeDocument().setEdit('LinearPattern') Gui.ActiveDocument.LinearPattern.ShapeColor=Gui.ActiveDocument.Pocket002.ShapeColor Gui.ActiveDocument.LinearPattern.DisplayMode=Gui.ActiveDocument.Pocket002.DisplayMode App.ActiveDocument.LinearPattern.Originals = [App.ActiveDocument.Pocket002,] App.ActiveDocument.LinearPattern.Direction = (App.ActiveDocument.Sketch003,["V_Axis"]) App.ActiveDocument.LinearPattern.Reversed = 1 App.ActiveDocument.LinearPattern.Length = 3.500000 App.ActiveDocument.LinearPattern.Occurrences = 2 App.ActiveDocument.recompute() Gui.activeDocument().resetEdit()
def draw(self): # helper Variables # Make the coresponding xRodClamp try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument = None except: pass # make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument = App.getDocument(self.name) App.ActiveDocument = App.getDocument(self.name) # Make clamp body # Sketch points p1x = -gv.zEndstopSupportWidth / 2 p1y = 0 p2x = -gv.zEndstopSupportWidth / 2 p2y = gv.zEndStopClampLength p3x = gv.zEndstopSupportWidth / 2 p3y = gv.zEndStopClampLength p4x = gv.zEndstopSupportWidth / 2 p4y = p1y # Make Sketch App.activeDocument().addObject("Sketcher::SketchObject", "Sketch") App.activeDocument().Sketch.Placement = App.Placement( App.Vector(0.000000, 0.000000, 0.000000), App.Rotation(0.000000, 0.000000, 0.000000, 1.000000) ) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p1x, p1y, 0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Coincident", 0, 2, 1, 1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Coincident", 1, 2, 2, 1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Coincident", 2, 2, 3, 1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Coincident", 3, 2, 0, 1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Horizontal", 0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Horizontal", 2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Vertical", 1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Vertical", 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Symmetric", 0, 2, 0, 1, -1, 1)) App.ActiveDocument.recompute() # add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("DistanceY", 1, gv.zEndStopClampLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("DistanceX", 2, -gv.zEndstopSupportWidth)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() # pad rod support App.activeDocument().addObject("PartDesign::Pad", "Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.zRodDiaL / 2 + gv.zEndstopBodyThickness - gv.clampGap / 2 App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # make cut out for rod # sketch points p1x = 0 p1y = gv.zRodDiaL / 2 + gv.zEndstopBodyThickness # Make Sketch # make sketch App.activeDocument().addObject("Sketcher::SketchObject", "Sketch001") App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, 0, 0, None, None) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addExternal( "Pad", uf.getEdge( App.ActiveDocument.Pad, 0, 0, 0, 0, gv.zRodDiaL / 2 + gv.zEndstopBodyThickness - gv.clampGap / 2, 0 ), ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), gv.zRodDiaL / 2) ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("PointOnObject", 0, 3, -2)) App.ActiveDocument.recompute() # add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("Distance", 0, 3, -3, gv.clampGap / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("Radius", 0, gv.zRodDiaL / 2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() # Cut through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # cut Right clamp hole # Sketch points p1x = gv.zRodDiaL / 2 + gv.printedToPrintedDia / 2 p1y = gv.printedToPrintedDia / 2 + gv.mountToPrintedPadding # Make Sketch App.activeDocument().addObject("Sketcher::SketchObject", "Sketch002") App.activeDocument().Sketch002.Support = uf.getFace( App.ActiveDocument.Pocket, 0, 1, None, None, gv.zRodDiaL / 2 + gv.zEndstopBodyThickness - gv.clampGap / 2, 0 ) App.activeDocument().recompute() App.activeDocument().recompute() App.ActiveDocument.Sketch002.addExternal( "Pocket", uf.getEdge( App.ActiveDocument.Pocket, gv.zEndstopSupportWidth / 2, 0, gv.zEndStopClampLength / 2, 0, gv.zRodDiaL / 2 + gv.zEndstopBodyThickness - gv.clampGap / 2, 0, ), ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), gv.printedToPrintedDia / 2) ) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Distance',0,3,-3,p1y)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',-1,1,0,3,p1y)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',0,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() # Cut clamp hole through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Mirror clamp hole App.activeDocument().addObject("PartDesign::Mirrored", "Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [App.activeDocument().Pocket001] App.activeDocument().Mirrored.MirrorPlane = (App.activeDocument().Sketch002, ["V_Axis"]) App.ActiveDocument.Mirrored.Originals = [App.ActiveDocument.Pocket001] App.ActiveDocument.Mirrored.MirrorPlane = (App.ActiveDocument.Sketch002, ["V_Axis"]) App.ActiveDocument.recompute() # Make channel for contact # Sketch Points p1x = -gv.zEndstopSupportWidth / 2 p1y = -( 2 * gv.mountToPrintedPadding + gv.printedToPrintedDia + 2 * gv.xEndstopChannelWidth + gv.zEndstopJogWidth ) p2x = p1x p2y = -(2 * gv.mountToPrintedPadding + gv.printedToPrintedDia + gv.zEndstopJogWidth) p3x = -gv.zEndstopJogWidth p3y = p2y p4x = 0 p4y = -(2 * gv.mountToPrintedPadding + gv.printedToPrintedDia) p5x = -p3x p5y = p2y p6x = -p1x p6y = p2y p7x = p6x p7y = p1y p8x = p5x - (gv.xEndstopChannelWidth * math.tan(math.pi / 8)) p8y = p1y p9x = p8x - math.pow(2, 0.5) * gv.xEndstopChannelWidth * math.tan(math.pi / 8) p9y = p1y + math.pow(2, 0.5) * gv.xEndstopChannelWidth * math.tan(math.pi / 8) p10x = p4x p10y = p1y + gv.zEndstopJogWidth - math.pow(2, 0.5) * gv.xEndstopChannelWidth * math.tan(math.pi / 8) p11x = ( p3x + (gv.xEndstopChannelWidth * math.tan(math.pi / 8)) + math.pow(2, 0.5) * gv.xEndstopChannelWidth * math.tan(math.pi / 8) ) p11y = p9y p12x = p3x + (gv.xEndstopChannelWidth * math.tan(math.pi / 8)) p12y = p1y # Make Sketch App.activeDocument().addObject("Sketcher::SketchObject", "Sketch003") App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Mirrored, 0, 0, None, None, 0, 0) App.activeDocument().recompute() App.activeDocument().recompute() App.ActiveDocument.Sketch003.addExternal( "Mirrored", uf.getEdge( App.ActiveDocument.Mirrored, -gv.zEndstopSupportWidth / 2, 0, gv.zEndStopClampLength / 2, 0, 0, 0 ), ) App.ActiveDocument.Sketch003.addExternal( "Mirrored", uf.getEdge( App.ActiveDocument.Mirrored, gv.zEndstopSupportWidth / 2, 0, gv.zEndStopClampLength / 2, 0, 0, 0 ), ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("PointOnObject", 0, 1, -3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Vertical", 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Horizontal", 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p5x, p5y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 2, 2, 3, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p5x, p5y, 0), App.Vector(p6x, p6y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 3, 2, 4, 1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Horizontal", 4)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p6x, p6y, 0), App.Vector(p7x, p7y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 4, 2, 5, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("PointOnObject", 4, 2, -4)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p7x, p7y, 0), App.Vector(p8x, p8y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 5, 2, 6, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("PointOnObject", 5, 2, -4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p8x, p8y, 0), App.Vector(p9x, p9y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 6, 2, 7, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p9x, p9y, 0), App.Vector(p10x, p10y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 7, 2, 8, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',8,2,-3)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',8)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p10x, p10y, 0), App.Vector(p11x, p11y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 8, 2, 9, 1)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',9)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',3,2,-4)) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p11x, p11y, 0), App.Vector(p12x, p12y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 9, 2, 10, 1)) App.ActiveDocument.recompute() # App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',10,2,7)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p12x, p12y, 0), App.Vector(p1x, p1y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p11x, p11y, 0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p5x, p5y, 0), App.Vector(p9x, p9y, 0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 10, 2, 11, 1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 11, 2, 0, 1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Horizontal", 6)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Horizontal", 11)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("PointOnObject", 2, 2, -2)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("PointOnObject", 8, 2, -2)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Parallel", 9, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Parallel", 3, 8)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.toggleConstruction(13) App.ActiveDocument.Sketch003.toggleConstruction(12) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Equal", 0, 12)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Equal", 12, 13)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Equal", 13, 5)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Perpendicular", 2, 3)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 12, 2, 9, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 12, 1, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 3, 2, 13, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Coincident", 13, 2, 7, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Perpendicular", 12, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Perpendicular", 13, 3)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Parallel", 10, 9)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("Parallel", 7, 8)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("PointOnObject", 6, 2, 11)) # add dimensions App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("DistanceY", 5, -gv.xEndstopChannelWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("DistanceY", 3, 2, 2, 2, gv.zEndstopJogWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint("DistanceY", -1, 1, 2, 2, -9.963388)) App.ActiveDocument.recompute() App.getDocument("zEndstop").recompute() # Cut top channel App.activeDocument().addObject("PartDesign::Pocket", "Pocket002") App.activeDocument().Pocket002.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket002.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket002.Length = 3.000000 App.ActiveDocument.Pocket002.Type = 0 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute() # Use a linear pattern to add other channel App.activeDocument().addObject("PartDesign::LinearPattern", "LinearPattern") App.ActiveDocument.recompute() App.activeDocument().LinearPattern.Originals = [App.activeDocument().Pocket002] App.activeDocument().LinearPattern.Direction = (App.activeDocument().Sketch003, ["H_Axis"]) App.activeDocument().LinearPattern.Length = 100 App.activeDocument().LinearPattern.Occurrences = 2 App.ActiveDocument.LinearPattern.Originals = [App.ActiveDocument.Pocket002] App.ActiveDocument.LinearPattern.Direction = (App.ActiveDocument.Sketch003, ["V_Axis"]) App.ActiveDocument.LinearPattern.Reversed = 1 App.ActiveDocument.LinearPattern.Length = 3.500000 App.ActiveDocument.LinearPattern.Occurrences = 2 App.ActiveDocument.recompute()
def draw(self): #helper Variables width = gv.printableWidth + gv.printBedPadding length = gv.printableLength + gv.printBedPadding #Make file and build part try: App.getDocument("printBedSupport").recompute() App.closeDocument("printBedSupport") App.setActiveDocument("") App.ActiveDocument=None except: pass #Create Document App.newDocument("printBedSupport") App.setActiveDocument("printBedSupport") App.ActiveDocument=App.getDocument("printBedSupport") #make plate #Sketch points p1x = -width/2 p1y = -length/2 p2x = -width/2 p2y = length/2 p3x = width/2 p3y = length/2 p4x = width/2 p4y = -length/2 p5x = -(width/2-gv.printBedMountHolePadding) p5y = -(length/2-gv.printBedMountHolePadding) p6x = -(width/2-gv.printBedMountHolePadding) p6y = (length/2-gv.printBedMountHolePadding) p7x = (width/2-gv.printBedMountHolePadding) p7y = (length/2-gv.printBedMountHolePadding) p8x = (width/2-gv.printBedMountHolePadding) p8y = -(length/2-gv.printBedMountHolePadding) p9x = (width/2-gv.printBedMountHolePadding) p9y = length/2 p10x = width/2 p10y = (length/2-gv.printBedMountHolePadding) App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',1,2,0,1,-1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p8x,p8y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p8x,p8y,0),App.Vector(p7x,p7y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p7x,p7y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',5,2,6,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',6,2,7,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',7,2,4,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',4)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',6)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',5)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',7)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p9x,p9y,0),App.Vector(p7x,p7y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',8,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',8,2,5,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p7x,p7y,0),App.Vector(p10x,p10y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',8,2,9,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',9,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',9)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',8)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',8,9)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.movePoint(4,0,App.Vector(0.000000,0.000000,0),1) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.toggleConstruction(6) App.ActiveDocument.Sketch.toggleConstruction(5) App.ActiveDocument.Sketch.toggleConstruction(7) App.ActiveDocument.Sketch.toggleConstruction(4) App.ActiveDocument.Sketch.toggleConstruction(8) App.ActiveDocument.Sketch.toggleConstruction(9) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(p6x,p6y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',10,3,6,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(p7x,p7y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',11,3,5,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',12,3,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(p8x,p8y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',13,3,4,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',13,12)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',12,10)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',10,11)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',5,2,4,1,-1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,length)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,width)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',9,gv.printBedMountHolePadding+gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius',10,gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.movePoint(4,1,App.Vector(-37.291931,-32.210766,0),0) App.ActiveDocument.recompute() App.getDocument('printBedSupport').recompute() App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.printBedSupportThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #Make holes for y bushing mounts #Sketch Points p1x = -gv.yRodSpacing/2 p1y = -length/2 p2x = -gv.yRodSpacing/2 p2y = length/2 p3x = gv.yRodSpacing/2 p3y = -length/2 p4x = gv.yRodSpacing/2 p4y = length/2 p5x = -gv.yRodSpacing/2-gv.yBushingMountSlotSpacing/2 p5y = -gv.yBushingNutSeparation/2 p6x = -gv.yRodSpacing/2+gv.yBushingMountSlotSpacing/2 p6y = -gv.yBushingNutSeparation/2 p7x = -gv.yRodSpacing/2-gv.yBushingMountSlotSpacing/2 p7y = gv.yBushingNutSeparation/2 p8x = -gv.yRodSpacing/2+gv.yBushingMountSlotSpacing/2 p8y = gv.yBushingNutSeparation/2 p9x = gv.yRodSpacing/2-gv.yBushingMountSlotSpacing/2 p9y = -gv.yBushingNutSeparation/2 p10x = gv.yRodSpacing/2+gv.yBushingMountSlotSpacing/2 p10y = -gv.yBushingNutSeparation/2 p11x = gv.yRodSpacing/2-gv.yBushingMountSlotSpacing/2 p11y = gv.yBushingNutSeparation/2 p12x = gv.yRodSpacing/2+gv.yBushingMountSlotSpacing/2 p12y = gv.yBushingNutSeparation/2 p13x = p1x p13y = p5y p14x = p1x p14y = p7y p15x = p3x p15y = p5y p16x = p3x p16y = p7y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None, None, None, None, gv.printBedSupportThickness, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,0, length/2, 0, gv.printBedSupportThickness, 0)) App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,0, -length/2, 0, gv.printBedSupportThickness, 0)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',1,1,-4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',1,2,0,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p7x,p7y,0),App.Vector(p8x,p8y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p9x,p9y,0),App.Vector(p10x,p10y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p11x,p11y,0),App.Vector(p12x,p12y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',5)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',3,5)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',5,4)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',4,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',3,2,3,1,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',2,2,2,1,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',5,2,5,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',4,2,4,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',3,2,5)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-3)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',2,2,4)) App.ActiveDocument.recompute() #Add Dimmensions early to avoid squishing sketch App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',5,2,4,gv.yBushingNutSeparation)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',1,1,0,1,gv.yRodSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',4,gv.yBushingMountSlotSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',3,1,2,1,-1)) App.ActiveDocument.recompute() #continue adding other constraints App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(5) App.ActiveDocument.Sketch001.toggleConstruction(4) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.Sketch001.toggleConstruction(3) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',6,3,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p6x,p6y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',7,3,2,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p7x,p7y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',8,3,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p8x,p8y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',9,3,3,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p9x,p9y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',10,3,5,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p10x,p10y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',11,3,5,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p11x,p11y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',12,3,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p12x,p12y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',13,3,4,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',6,7)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',7,8)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',8,9)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',9,10)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',10,11)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',11,12)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',12,13)) App.ActiveDocument.recompute() #Add hole Dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',11,gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() #Cut bushing mount holes through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Make holes for y belt anchor #Sketch points p1x = gv.yMotorPulleyDia/2 p1y = gv.yBeltAnchorHoleSpacing/2 p2x = p1x p2y = -p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, None, None, None, None, gv.printBedSupportThickness, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',0,3,1,3,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',0,1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',0,gv.mountToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',-2,1,1,3,gv.yMotorPulleyDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Distance',0,3,1,3,gv.yBeltAnchorHoleSpacing)) App.ActiveDocument.recompute() App.getDocument('printBedSupport').recompute() #Cut holes App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute()
def draw(self): #helper Variables gv.xRodClampOverallThickness = 2*gv.xRodClampThickness+gv.xRodDiaMax mountHoleInsetVert = gv.printedToPrintedDia/2+gv.xRodClampMountHoleToRodPadding+gv.xRodDiaMax/2 mountHoleInsetHoriz = gv.xRodClampMountHoleToEdgePadding+gv.printedToPrintedDia/2 beltChannelDepth = (gv.xRodDiaTop if gv.xRodDiaTop>gv.xRodDiaBottom else gv.xRodDiaBottom)+gv.xRodClampThickness #Make file and build part try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None except: pass #Create Document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #Extrude body of xRodClamp #sketch Points p1x = 0 p1y = 0 p2x = 0 p2y = gv.xRodClampOverallThickness/2 p3x = 0 p3y = gv.xRodClampOverallThickness p4x = gv.xRodSpacing p4y = gv.xRodClampOverallThickness p5x = gv.xRodSpacing p5y = gv.xRodClampOverallThickness/2 p6x = gv.xRodSpacing p6y = 0 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.500000,0.500000,0.500000,0.500000)) App.ActiveDocument.Sketch.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.xRodClampOverallThickness/2),0.5*math.pi,1.5*math.pi)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,-1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-2)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,1,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.Sketch.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.xRodClampOverallThickness/2),1.5*math.pi,0.5*math.pi)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,1,2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',2,1,-1)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,1,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,-1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',1,3)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',1,2,2,1,2,3)) #add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius',2,gv.xRodClampOverallThickness/2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',3,-gv.xRodSpacing)) App.getDocument(self.name).recompute() #Pad the xRodClamp body App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.xRodClampWidth # xRodClamp gv.xRodClampWidth App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #Make holes for x rods #Sketch Points p1x = 0 p1y = gv.xRodClampOverallThickness/2 p2x = gv.xRodSpacing p2y = gv.xRodClampOverallThickness/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, gv.xRodClampWidth, 0, None, None, None, None)#(App.ActiveDocument.Pad,["Face6"]) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.xRodClampWidth,0, 0,-1, gv.xRodClampOverallThickness/2,0)) App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.xRodClampWidth,0, gv.xRodSpacing,1, gv.xRodClampOverallThickness/2,0)) App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.xRodDiaBottom/2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,3,-3,3)) App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.xRodDiaTop/2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,3,-4,3)) #add Dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,gv.xRodDiaBottom/2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',1,gv.xRodDiaTop/2)) App.getDocument(self.name).recompute() #extrude Cut to depth that Rods will be embeded in clamp App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = gv.xRodClampPocketDepth+gv.xRodClampExtraPocketDepth # depth of the holes for the x rods App.ActiveDocument.Pocket.Type = 0 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Make holes for motor mount plate and idler #Sketch Points p1x = -gv.xRodSpacing p1y = gv.xRodClampWidth-mountHoleInsetHoriz p2x = -gv.xRodSpacing+gv.xRodAxisToMountHoleDist p2y = gv.xRodClampWidth p3x = 0 p3y = mountHoleInsetHoriz p4x = -gv.xRodAxisToMountHoleDist p4y = 0 p5x = -gv.xRodSpacing+gv.xRodAxisToMountHoleDist p5y = mountHoleInsetHoriz p6x = -gv.xRodSpacing+gv.xRodAxisToMountHoleDist p6y = gv.xRodClampWidth-mountHoleInsetHoriz p7x = -gv.xRodAxisToMountHoleDist p7y = gv.xRodClampWidth-mountHoleInsetHoriz p8x = -gv.xRodAxisToMountHoleDist p8y = mountHoleInsetHoriz p9x = -gv.xRodSpacing/2 p9y = gv.xRodClampWidth/2 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, None, None, None, None, gv.xRodClampOverallThickness, 0)#(App.ActiveDocument.Pocket,["Face2"]) App.activeDocument().recompute() App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, gv.xRodClampWidth,0, gv.xRodSpacing/2,0, gv.xRodClampOverallThickness,0)) App.ActiveDocument.Sketch002.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, gv.xRodClampWidth/2,0, gv.xRodSpacing,0, gv.xRodClampOverallThickness,0)) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-4)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',1,2,-3)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p8x,p8y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',2,1,-2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p8x,p8y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',3,2,-1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',1,3)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',2,0)) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.Sketch002.toggleConstruction(3) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p7x,p7y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p7x,p7y,0),App.Vector(p8x,p8y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p8x,p8y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',5,2,6,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',6,2,7,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',7,2,4,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',4)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',6)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',5)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',7)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',4,1,0,2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',5,2,2,2)) App.ActiveDocument.Sketch002.toggleConstruction(7) App.ActiveDocument.Sketch002.toggleConstruction(4) App.ActiveDocument.Sketch002.toggleConstruction(5) App.ActiveDocument.Sketch002.toggleConstruction(6) App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p6x,p6y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',8,3,0,2)) App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p7x,p7y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',9,3,4,2)) App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p8x,p8y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',10,3,2,2)) App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',11,3,6,2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',8,9)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',9,10)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',10,11)) App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p9x,p9y,0),App.Vector(0,0,1),gv.xRodClampIdlerHoleDia/2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',0,2,2,2,12,3)) #add Dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',0,gv.xRodAxisToMountHoleDist)) #distance between rod edge and mouunting hole edge App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',1,mountHoleInsetHoriz)) #distance between edge of part and mounting hole edge App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',9,gv.printedToPrintedDia/2)) #mount hole radius App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',12,gv.xRodClampIdlerHoleDia/2))#idler hole radius App.getDocument(self.name).recompute() #Cut holes through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() #Cut away material to make belt channel #sketch points p1x = -gv.xRodSpacing+gv.xRodAxisToMountHoleDist+gv.printedToPrintedDia/2+gv.xRodClampMountHoleToRodPadding p1y = 0 p2x = p1x p2y = gv.xRodClampWidth p3x = -(gv.xRodAxisToMountHoleDist+gv.printedToPrintedDia/2+gv.xRodClampMountHoleToRodPadding) p3y = gv.xRodClampWidth p4x = p3x p4y = 0 #make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Pocket001, None, None, None, None, gv.xRodClampOverallThickness, 0)#(App.ActiveDocument.Pocket001,["Face2"]) App.activeDocument().recompute() App.ActiveDocument.Sketch003.addExternal("Pocket001",uf.getEdge(App.ActiveDocument.Pocket001, gv.xRodClampWidth,0, gv.xRodSpacing/2,0, gv.xRodClampOverallThickness,0)) App.ActiveDocument.Sketch003.addExternal("Pocket001",uf.getEdge(App.ActiveDocument.Pocket001, gv.xRodClampWidth/2,0, gv.xRodSpacing,0, gv.xRodClampOverallThickness,0)) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',1,2,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Point(App.Vector(-34.530499,62.111320,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Symmetric',-4,2,-3,1,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.movePoint(2,2,App.Vector(-50.355999,62.922062,0),0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.movePoint(1,2,App.Vector(-19.232504,62.922058,0),0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Symmetric',2,2,1,2,4,1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('DistanceX',-1,1,1,2,p3x)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut material away App.activeDocument().addObject("PartDesign::Pocket","Pocket002") App.activeDocument().Pocket002.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket002.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket002.Length = beltChannelDepth App.ActiveDocument.Pocket002.Type = 0 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute() if self.side == "Left": __doc__=App.getDocument(self.name) __doc__.addObject("Part::Mirroring") __doc__.ActiveObject.Source=__doc__.getObject("Pocket002") __doc__.ActiveObject.Label="Pocket002 (Mirror #1)" __doc__.ActiveObject.Normal=(1,0,0) __doc__.ActiveObject.Base=(0,0,0) del __doc__
def draw(self): try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #Revolve tip of nozzle #Sketch Points p1x = gv.nozzleDia/2 p1y = 0 p2x = gv.nozzleTipDia/2 p2y = p1y p3x = gv.nozzleBaseDia/2 p3y = (gv.nozzleBaseDia/2-gv.nozzleTipDia/2) p4x = p3x p4y = gv.nozzleLength p5x = gv.extruderBarrelLinerDia/2 p5y = p4y p6x = p5x p6y = p3y p7x = gv.nozzleStepDia/2 p7y = p6y-(p6x-p7x)/math.tan(math.pi/180*gv.nozzleDrillAngle/2) p8x = p7x p8y = gv.nozzleStepOffset+(p7x-p1x)/math.tan(math.pi/180*gv.nozzleDrillAngle/2) p9x = gv.nozzleDia/2 p9y = gv.nozzleStepOffset #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(-0.707107,0.000000,0.000000,-0.707107)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p7x,p7y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p7x,p7y,0),App.Vector(p8x,p8y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',5,2,6,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p8x,p8y,0),App.Vector(p9x,p9y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',6,2,7,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p9x,p9y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',7,2,8,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',8,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',8)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',6)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',9,1,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',9,2,4,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.toggleConstruction(9) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',9)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',-1,1,3,2,gv.nozzleLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',-1,1,0,1,gv.nozzleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',-1,1,1,2,gv.nozzleBaseDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',-1,1,5,2,gv.nozzleStepDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',8,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Angle',4,2,5,1,math.pi/180*(180-.5*gv.nozzleDrillAngle))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Angle',6,2,7,1,math.pi/180*(180-.5*gv.nozzleDrillAngle))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',-1,1,0,2,gv.nozzleTipDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Angle',2,1,1,2,3*math.pi/4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',-1,1,3,2,gv.extruderBarrelLinerDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Revolve Sketch App.activeDocument().addObject("PartDesign::Revolution","Revolution") App.activeDocument().Revolution.Sketch = App.activeDocument().Sketch App.activeDocument().Revolution.ReferenceAxis = (App.activeDocument().Sketch,['V_Axis']) App.activeDocument().Revolution.Angle = 360.0 App.activeDocument().Revolution.Reversed = 1 App.ActiveDocument.recompute() App.ActiveDocument.Revolution.Angle = 360.000000 App.ActiveDocument.Revolution.ReferenceAxis = (App.ActiveDocument.Sketch,['V_Axis']) App.ActiveDocument.Revolution.Midplane = 0 App.ActiveDocument.Revolution.Reversed = 1 App.ActiveDocument.recompute() #make heater block #Sketch Points p1x = -gv.nozzleBodyDepth/2 p1y = -gv.nozzleBodyDepth/2 p2x = p1x p2y = -p1y p3x = gv.nozzleBodyWidth-gv.nozzleBodyDepth/2 p3y = -p1y p4x = p3x p4y = p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') #App.activeDocument().Sketch001.Support = (App.ActiveDocument.Revolution,["Face4"]) App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Revolution, None,None, None,None, gv.nozzleLength,0) App.activeDocument().recompute() # App.ActiveDocument.Sketch001.addExternal("Revolution","Edge7") App.ActiveDocument.Sketch001.addExternal("Revolution",uf.getEdge(App.ActiveDocument.Revolution, None,None, None,None, gv.nozzleLength,0, radius = gv.extruderBarrelLinerDia/2)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',2,2,0,1,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,0,0),App.Vector(0,0,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',4,1,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',4,2,-1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(0,0,0),App.Vector(0,p1y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',5,2,0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',5)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(5) App.ActiveDocument.Sketch001.toggleConstruction(4) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',5,4)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(0,0,0),App.Vector(0,0,1),gv.extruderBarrelLinerDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',6,3,-1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',6,-3)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',0,gv.nozzleBodyWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',1,gv.nozzleBodyDepth)) App.ActiveDocument.recompute() # App.getDocument(self.name).recompute() #Extrude Block App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch001 App.ActiveDocument.Pad.Reversed = 1 App.ActiveDocument.Pad.Length = gv.nozzleBodyHeight App.ActiveDocument.recompute() App.ActiveDocument.recompute() #Refine Shape App.ActiveDocument.addObject('Part::Feature','Pad').Shape=App.ActiveDocument.Pad.Shape.removeSplitter() App.ActiveDocument.ActiveObject.Label=App.ActiveDocument.Pad.Label App.ActiveDocument.recompute() #Make Resistor Hole #Sketch Points p1x = -gv.nozzleBodyWidth+gv.nozzleBodyDepth/2 p1y = gv.nozzleLength-gv.nozzleBodyHeight/2 p2x = p1x + gv.nozzleResistorInset p2y = -p1y #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pad001, None, None, -gv.nozzleBodyDepth/2,0, None, None) App.activeDocument().recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addExternal("Pad001",uf.getEdge(App.ActiveDocument.Pad001, -gv.nozzleBodyWidth+gv.nozzleBodyDepth/2, 0, -gv.nozzleBodyDepth/2,0, None, None)) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',-3,2,-3,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.nozzleResistorDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',1,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',0,gv.nozzleResistorInset)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',1,gv.nozzleResistorDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut resistor hole through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Make hole for thermistor #Sketch Points p1x = 0 p1y = gv.nozzleLength - gv.nozzleBodyHeight p2x = p1x p2y = gv.nozzleLength - gv.nozzleBodyHeight + gv.nozzleThermistorHoleVertOffset #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') #App.activeDocument().Sketch003.Support = (App.ActiveDocument.Pocket,["Face10"]) App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Pocket, gv.nozzleBodyDepth/2, 0, None, None, None, None) App.activeDocument().recompute() App.ActiveDocument.Sketch003.addExternal("Pocket",uf.getEdge(App.ActiveDocument.Pocket, gv.nozzleBodyDepth/2,0, 0, 0, gv.nozzleLength-gv.nozzleBodyHeight,0)) App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-2)) App.ActiveDocument.Sketch003.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.nozzleThermistorDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',1,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.toggleConstruction(0) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('DistanceY',0,gv.nozzleThermistorHoleVertOffset)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Radius',1,gv.nozzleThermistorDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut hole App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket001.Length = gv.nozzleThermistorDepth App.ActiveDocument.Pocket001.Type = 0 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() #Make Thermistor retainer hole #Sketch Points p1x = -gv.nozzleBodyWidth/2 p1y = gv.nozzleLength - gv.nozzleBodyHeight/2 p2x = -gv.nozzleBodyWidth/2 + gv.nozzleThermistorRetainerHorizOffset p2y = gv.nozzleLength - gv.nozzleBodyHeight/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch004') App.activeDocument().Sketch004.Support = uf.getFace(App.ActiveDocument.Pocket001, gv.nozzleBodyDepth/2, 0, None, None, None, None) App.activeDocument().recompute() App.ActiveDocument.Sketch004.addExternal("Pocket001",uf.getEdge(App.ActiveDocument.Pocket001, gv.nozzleBodyDepth/2,0, -gv.nozzleBodyDepth/2,0, None, None)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('Symmetric',-3,2,-3,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.nozzleThermistorRetainerDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('Coincident',1,3,0,2)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('DistanceX',0,gv.nozzleThermistorRetainerHorizOffset)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('Radius',1,gv.nozzleThermistorRetainerDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut Hole App.activeDocument().addObject("PartDesign::Pocket","Pocket002") App.activeDocument().Pocket002.Sketch = App.activeDocument().Sketch004 App.activeDocument().Pocket002.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket002.Length = gv.nozzleThermistorRetainerDepth App.ActiveDocument.Pocket002.Type = 0 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute()
def draw(self): #Helper variables mountHoleSpacing = gv.zRodSupportLength+2*gv.slotPadding+gv.slotDia try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #extrude verticalBar uf.extrudeFrameMember(self.name, gv.vertBarLength) #Make Holes for xRodSupports #Sketch Points p1x = 0 p1y = gv.vertBarLength p2x = p1x p2y = gv.vertBarLength-gv.vertBarDistAboveZRod-gv.zRodSupportLength/2+mountHoleSpacing/2 p3x = p1x p3y = gv.vertBarLength-gv.vertBarDistAboveZRod-gv.zRodSupportLength/2-mountHoleSpacing/2 p4x = p1x p4y = gv.vertBarDistBelowZRod+gv.zRodSupportLength/2+mountHoleSpacing/2 p5x = p1x p5y = gv.vertBarDistBelowZRod+gv.zRodSupportLength/2-mountHoleSpacing/2 p6x = p1x p6y = 0 p7x = p1x p7y = gv.vertBarLength-(gv.zRodSupportLength/2+gv.vertBarDistAboveZRod) p8x = p1x p8y = gv.vertBarDistBelowZRod+gv.zRodSupportLength/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, gv.vertBarLength/2, 0, None, None, gv.frameHeight/2, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, gv.vertBarLength, 0, None, None, gv.frameHeight/2, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',1,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',3,2,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',4,2,-1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Vertical',4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.delConstraint(8) App.ActiveDocument.Sketch001.toggleConstruction(4) App.ActiveDocument.Sketch001.toggleConstruction(3) App.ActiveDocument.Sketch001.toggleConstruction(2) App.ActiveDocument.Sketch001.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',1,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Point(App.Vector(p7x,p7y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',5,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',0,2,1,2,5,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Point(App.Vector(p8x,p8y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',6,1,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',3,2,2,2,6,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',7,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',8,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p4x,p4y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',9,3,2,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',10,3,3,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',7,8)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',8,9)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',9,10)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',7,gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',1,-mountHoleSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',0,1,5,1,gv.zRodSupportLength/2+gv.vertBarDistAboveZRod)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',-1,1,6,1,gv.vertBarDistBelowZRod+gv.zRodSupportLength/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut holes through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute()
def draw(self): if self.side == "Right": self.rodDia = gv.yRodDiaR self.bushingNutFaceToFace = gv.yBushingNutR[2] self.bushingNutThickness = gv.yBushingNutR[3] elif self.side == "Left": self.rodDia = gv.yRodDiaL self.bushingNutFaceToFace = gv.yBushingNutL[2] self.bushingNutThickness = gv.yBushingNutL[3] #helper Variables columnWidth = gv.PBBHMaxFaceToFace/math.cos(math.pi/6)+2*gv.bushingNutPadding #Make file and build part try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None except: pass #Create Document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #Make base #Sketch points p1x = -gv.printBedBusingSupportWidth/2 p1y = -gv.PBBHDepth/2 p2x = -gv.printBedBusingSupportWidth/2 p2y = gv.PBBHDepth/2 p3x = gv.printBedBusingSupportWidth/2 p3y = gv.PBBHDepth/2 p4x = gv.printBedBusingSupportWidth/2 p4y = -gv.PBBHDepth/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',1,2,0,1,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,gv.PBBHDepth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,gv.printBedBusingSupportWidth)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Pad base App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.tabThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #Cut slot on right side #Sketch points p1x = gv.printBedBusingSupportWidth/2-gv.slotPadding-gv.printedToPrintedDia/2-gv.slotWidth p1y = 0 p2x = gv.printBedBusingSupportWidth/2-gv.slotPadding-gv.printedToPrintedDia/2 p2y = 0 p3x = gv.printBedBusingSupportWidth/2-gv.slotPadding-gv.printedToPrintedDia/2-gv.slotWidth p3y = -gv.printedToPrintedDia/2 p4x = gv.printBedBusingSupportWidth/2-gv.slotPadding-gv.printedToPrintedDia/2-gv.slotWidth p4y = gv.printedToPrintedDia/2 p5x = gv.printBedBusingSupportWidth/2-gv.slotPadding-gv.printedToPrintedDia/2 p5y = gv.printedToPrintedDia/2 p6x = gv.printBedBusingSupportWidth/2-gv.slotPadding-gv.printedToPrintedDia/2 p6y = -gv.printedToPrintedDia/2 p7x = gv.printBedBusingSupportWidth/2-gv.slotPadding p7y = 0 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None,None, None, None, gv.tabThickness, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,1, 0,0, gv.tabThickness, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),4.217310),math.pi/2,-math.pi/2)) App.ActiveDocument.Sketch001.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),4.217310),-math.pi/2,math.pi/2)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',0,2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',0,3)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',1,2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',1,3)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,1,3,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,2,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,2,1,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,2,1,2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Point(App.Vector(32.724319,-0.106919,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',4,1,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',4,1,1)) #add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',2,gv.slotWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',1,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',4,1,-3,gv.slotPadding)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut slot through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Mirror the slot App.activeDocument().addObject("PartDesign::Mirrored","Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [App.activeDocument().Pocket,] App.activeDocument().Mirrored.MirrorPlane = (App.activeDocument().Sketch001, ["V_Axis"]) App.ActiveDocument.Mirrored.Originals = [App.ActiveDocument.Pocket,] App.ActiveDocument.Mirrored.MirrorPlane = (App.ActiveDocument.Sketch001,["V_Axis"]) App.ActiveDocument.recompute() #Make bushing holder column #Sketch Points p1x = -columnWidth/2 p1y = gv.tabThickness p2x = -columnWidth/2 p2y = gv.PBBHStandoff p3x = 0 p3y = gv.PBBHStandoff p4x = columnWidth/2 p4y = gv.PBBHStandoff p5x = columnWidth/2 p5y = gv.tabThickness #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Mirrored, 0,0, -gv.PBBHDepth/2, 0, None, None) App.activeDocument().recompute() App.ActiveDocument.Sketch002.addExternal("Mirrored",uf.getEdge(App.ActiveDocument.Mirrored, 0,0, -gv.PBBHDepth/2, 0, gv.tabThickness, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),self.rodDia/2+gv.bushingNutRodGap),0,math.pi)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',1,3,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',1,2,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',2,1,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',2,2,-3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',3,1,2,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',1,1,0,2,1,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p3x,p3y,0),App.Vector(0,0,1),self.rodDia/2+gv.bushingNutRodGap)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',4,3,1,3)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Distance',0,1,2,2,columnWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Distance',-1,1,1,3,gv.PBBHStandoff)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',4,self.rodDia/2+gv.bushingNutRodGap)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Extrude column App.activeDocument().addObject("PartDesign::Pad","Pad001") App.activeDocument().Pad001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pad001.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad001.Length = gv.PBBHDepth App.ActiveDocument.Pad001.Reversed = 1 App.ActiveDocument.Pad001.Midplane = 0 App.ActiveDocument.Pad001.Length2 = 100.000000 App.ActiveDocument.Pad001.Type = 0 App.ActiveDocument.Pad001.UpToFace = None App.ActiveDocument.recompute() #Refine shape App.ActiveDocument.addObject('Part::Feature','Pad002').Shape=App.ActiveDocument.Pad001.Shape.removeSplitter() App.ActiveDocument.ActiveObject.Label=App.ActiveDocument.Pad001.Label App.ActiveDocument.recompute() #make bushing nut trap #Sketch Points mat = uf.hexagonPoints(0, gv.PBBHStandoff, self.bushingNutFaceToFace, 0) p1x = mat[0][0] p1y = mat[0][1] p2x = mat[1][0] p2y = mat[1][1] p3x = mat[2][0] p3y = mat[2][1] p4x = mat[3][0] p4y = mat[3][1] p5x = mat[4][0] p5y = mat[4][1] p6x = mat[5][0] p6y = mat[5][1] p7x = mat[6][0] p7y = mat[6][1] hexRadius = mat[7][0] App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Pad002, 0,0, -gv.PBBHDepth/2, 0, None, None) App.activeDocument().recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',5,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Circle(App.Vector(p7x,p7y,0),App.Vector(0,0,1),hexRadius)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,1,6)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,2,6)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',1,2,6)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',2,2,6)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',3,2,6)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',4,2,6)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Equal',5,0)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Equal',0,1)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Equal',1,2)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Equal',2,3)) App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Equal',3,4)) App.ActiveDocument.Sketch003.toggleConstruction(6) App.ActiveDocument.Sketch003.addExternal("Pad002",uf.getEdge(App.ActiveDocument.Pad002, 0,0, -gv.PBBHDepth/2, 0, None, None, radius = self.rodDia/2+gv.bushingNutRodGap)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',-3,3,6,3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Distance',0,2,4,self.bushingNutFaceToFace)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #cut nut trap out App.activeDocument().addObject("PartDesign::Pocket","Pad003") App.activeDocument().Pad003.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pad003.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad003.Length = gv.yBushingNutR[3] App.ActiveDocument.Pad003.Type = 0 App.ActiveDocument.Pad003.UpToFace = None App.ActiveDocument.recompute()
def draw(self): if self.side == "Right": self.rodDia = gv.zRodDiaR elif self.side == "Left": self.rodDia = gv.zRodDiaL #set up helper Variables supportWidth = (self.rodDia + gv.printedToPrintedDia + gv.clampNutFaceToFace + 2*gv.clampNutPadding) tabWidth = gv.slotDia+gv.slotWidth+2*gv.slotPadding tabLength = 2*gv.slotPadding+gv.slotDia totalLength = 2*tabLength + gv.zRodSupportLength try: App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument=App.getDocument(self.name) App.ActiveDocument=App.getDocument(self.name) #Create tabs #Sketch points p1x = -tabWidth/2 p1y = totalLength/2 p2x = tabWidth/2 p2y = totalLength/2 p3x = tabWidth/2 p3y = -totalLength/2 p4x = -tabWidth/2 p4y = -totalLength/2 #MakeSketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',0,1,1,2,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,-totalLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',2,-tabWidth)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Pad Sketch App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = gv.tabThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #Cut top slot #Sketch Points p1x = -gv.slotWidth/2 p1y = gv.zRodSupportLength/2+gv.slotPadding p2x = gv.slotWidth/2 p2y = gv.zRodSupportLength/2+gv.slotPadding p3x = -gv.slotWidth/2 p3y = gv.zRodSupportLength/2+gv.slotPadding+gv.slotDia/2 p4x = gv.slotWidth/2 p4y = gv.zRodSupportLength/2+gv.slotPadding+gv.slotDia/2 p5x = gv.slotWidth/2 p5y = gv.zRodSupportLength/2+gv.slotPadding-gv.slotDia/2 p6x = -gv.slotWidth/2 p6y = gv.zRodSupportLength/2+gv.slotPadding-gv.slotDia/2 p7x = 0 p7y = gv.zRodSupportLength/2+gv.slotPadding-gv.slotDia/2 #make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None,None, None, None, gv.tabThickness, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,0, 0,1, gv.tabThickness, 0)) App.ActiveDocument.Sketch001.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.slotDia/2),math.pi/2,-math.pi/2)) App.ActiveDocument.Sketch001.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.slotDia/2),-math.pi/2,math.pi/2)) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',0,2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',0,3)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',1,2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Tangent',1,3)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,1,3,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',0,2,2,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',2,2,1,1)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',3,2,1,2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Point(App.Vector(p7x,p7y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',4,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',4,1,-2)) App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',1,1,0,2,4,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',1,gv.slotDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',0,3,1,3,gv.slotWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',0,1,-3,gv.slotPadding)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut slot through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Mirror slot along horizotal axis App.activeDocument().addObject("PartDesign::Mirrored","Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [App.activeDocument().Pocket,] App.activeDocument().Mirrored.MirrorPlane = (App.activeDocument().Sketch001, ["V_Axis"]) App.ActiveDocument.Mirrored.Originals = [App.ActiveDocument.Pocket,] App.ActiveDocument.Mirrored.MirrorPlane = (App.ActiveDocument.Sketch001,["H_Axis"]) App.ActiveDocument.recompute() #Make rod support column #Sketch points p1x = -supportWidth/2 p1y = -gv.zRodSupportLength/2 p2x = -supportWidth/2 p2y = gv.zRodSupportLength/2 p3x = supportWidth/2 p3y = gv.zRodSupportLength/2 p4x = supportWidth/2 p4y = -gv.zRodSupportLength/2 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Mirrored, None,None, None, None, 0, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch002.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',0,1,1,2,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',1,gv.zRodSupportLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',2,-supportWidth)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #pad rod support App.activeDocument().addObject("PartDesign::Pad","Pad001") App.activeDocument().Pad001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pad001.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad001.Length = gv.zRodStandoff-gv.clampGap/2 App.ActiveDocument.Pad001.Reversed = 1 App.ActiveDocument.Pad001.Midplane = 0 App.ActiveDocument.Pad001.Length2 = 100.000000 App.ActiveDocument.Pad001.Type = 0 App.ActiveDocument.Pad001.UpToFace = None App.ActiveDocument.recompute() #Make cut out for z rod #Sketch points p1x = 0 p1y = gv.zRodStandoff p2x = -self.rodDia/2 p2y = gv.zRodStandoff p3x = self.rodDia/2 p3y = gv.zRodStandoff #make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch003') App.activeDocument().Sketch003.Support = uf.getFace(App.ActiveDocument.Pad001, 0,0, -gv.zRodSupportLength/2,0, None, None) App.ActiveDocument.Sketch003.addExternal("Pad001",uf.getEdge(App.ActiveDocument.Pad001, 0,0, -gv.zRodSupportLength/2, 0, gv.zRodStandoff-gv.clampGap/2, 0)) App.activeDocument().recompute() App.ActiveDocument.Sketch003.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),self.rodDia/2),math.pi,2*math.pi)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',1,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Coincident',1,2,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('PointOnObject',0,3,1)) #Add dimensions App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Distance',0,3,-3,gv.clampGap/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint(Sketcher.Constraint('Radius',0,self.rodDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() #cut Right clamp hole #Sketch points p1x = self.rodDia/2+gv.printedToPrintedDia/2 p1y = 0 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch004') App.activeDocument().Sketch004.Support = uf.getFace(App.ActiveDocument.Pocket001, 0,1, 0,0, gv.zRodStandoff-gv.clampGap/2,0) App.activeDocument().recompute() App.ActiveDocument.Sketch004.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('Radius',0,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint(Sketcher.Constraint('Distance',-1,1,0,3,self.rodDia/2+gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut clamp hole through all App.activeDocument().addObject("PartDesign::Pocket","Pocket002") App.activeDocument().Pocket002.Sketch = App.activeDocument().Sketch004 App.activeDocument().Pocket002.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket002.Length = 5.000000 App.ActiveDocument.Pocket002.Type = 1 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute() #Reflect clamp hole accross verticle axis App.activeDocument().addObject("PartDesign::Mirrored","Mirrored001") App.ActiveDocument.recompute() App.activeDocument().Mirrored001.Originals = [App.activeDocument().Pocket002,] App.activeDocument().Mirrored001.MirrorPlane = (App.activeDocument().Sketch004, ["V_Axis"]) App.ActiveDocument.Mirrored001.Originals = [App.ActiveDocument.Pocket002,] App.ActiveDocument.Mirrored001.MirrorPlane = (App.ActiveDocument.Sketch004,["V_Axis"]) App.ActiveDocument.recompute() #refine shape App.activeDocument().addObject("Part::Feature","Refined").Shape = App.ActiveDocument.Mirrored001.Shape.removeSplitter() #Add Nut trap to right side #Sketch Points mat = uf.hexagonPoints(self.rodDia/2+gv.printedToPrintedDia/2, 0, gv.clampNutFaceToFace, 0) p1x = mat[0][0] p1y = mat[0][1] p2x = mat[1][0] p2y = mat[1][1] p3x = mat[2][0] p3y = mat[2][1] p4x = mat[3][0] p4y = mat[3][1] p5x = mat[4][0] p5y = mat[4][1] p6x = mat[5][0] p6y = mat[5][1] p7x = mat[6][0] p7y = mat[6][1] hexRadius = mat[7][0] #make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch005') App.activeDocument().Sketch005.Support = uf.getFace(App.ActiveDocument.Refined, 0,0, 0,0, 0,0) App.ActiveDocument.Sketch005.addExternal("Refined",uf.getEdge(App.ActiveDocument.Refined, 0,1, None, None, 0, 0, radius = gv.printedToPrintedDia/2, makeUnique = True)) App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p5x,p5y,0))) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p5x,p5y,0),App.Vector(p6x,p6y,0))) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Line(App.Vector(p6x,p6y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',4,2,5,1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',5,2,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry(Part.Circle(App.Vector(p7x,p7y,0),App.Vector(0,0,1),hexRadius)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',0,1,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',0,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',1,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',2,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',3,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('PointOnObject',4,2,6)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',5,0)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',0,1)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',1,2)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',2,3)) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Equal',3,4)) App.ActiveDocument.Sketch005.toggleConstruction(6) App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Coincident',-3,3,6,3)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint(Sketcher.Constraint('Distance',0,2,4,gv.clampNutFaceToFace)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #cut nut trap out App.activeDocument().addObject("PartDesign::Pocket","Pocket003") App.activeDocument().Pocket003.Sketch = App.activeDocument().Sketch005 App.activeDocument().Pocket003.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket003.Length = gv.rodSupportNutTrapDepthMin App.ActiveDocument.Pocket003.Type = 0 App.ActiveDocument.Pocket003.UpToFace = None App.ActiveDocument.recompute() #Mirror nut trap App.activeDocument().addObject("PartDesign::Mirrored","Mirrored002") App.ActiveDocument.recompute() App.activeDocument().Mirrored002.Originals = [App.activeDocument().Pocket003,] App.activeDocument().Mirrored002.MirrorPlane = (App.activeDocument().Sketch005, ["V_Axis"]) App.ActiveDocument.Mirrored002.Originals = [App.ActiveDocument.Pocket003,] App.ActiveDocument.Mirrored002.MirrorPlane = (App.ActiveDocument.Sketch005,["V_Axis"]) App.ActiveDocument.recompute() #Set view as axometric #Make the coresponding xRodClamp try: App.getDocument(self.name+"Clamp").recompute() App.closeDocument(self.name+"Clamp") App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument(self.name+"Clamp") App.setActiveDocument(self.name+"Clamp") App.ActiveDocument=App.getDocument(self.name+"Clamp") App.ActiveDocument=App.getDocument(self.name+"Clamp") #Make clamp body #Sketch points p1x = -supportWidth/2 p1y = -gv.zRodSupportLength/2 p2x = -supportWidth/2 p2y = gv.zRodSupportLength/2 p3x = supportWidth/2 p3y = gv.zRodSupportLength/2 p4x = supportWidth/2 p4y = -gv.zRodSupportLength/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch') App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(0.000000,0.000000,0.000000,1.000000)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y,0),App.Vector(p4x,p4y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p3x,p3y,0),App.Vector(p2x,p2y,0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,2,1,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,2,2,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Symmetric',0,1,1,2,-1,1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,gv.zRodSupportLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',2,-supportWidth)) App.ActiveDocument.recompute() App.getDocument(self.name+"Clamp").recompute() #pad rod support App.activeDocument().addObject("PartDesign::Pad","Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() App.ActiveDocument.Pad.Length = self.rodDia/2+gv.clampThickness-gv.clampGap/2 App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() #make cut out for rod #sketch points p1x = 0 p1y = self.rodDia/2+gv.clampThickness p2x = -self.rodDia/2 p2y = self.rodDia/2+gv.clampThickness p3x = self.rodDia/2 p3y = self.rodDia/2+gv.clampThickness #Make Sketch #make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, 0,0, -gv.zRodSupportLength/2, 0, None,None) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addExternal("Pad",uf.getEdge(App.ActiveDocument.Pad, 0,0, -gv.zRodSupportLength/2, 0, self.rodDia/2+gv.clampThickness-gv.clampGap/2, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),self.rodDia/2),math.pi,2*math.pi)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Line(App.Vector(p2x,p2y,0),App.Vector(p3x,p3y,0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,1,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,2,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Horizontal',1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,1)) #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',0,3,-3,gv.clampGap/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,self.rodDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name+"Clamp").recompute() #Cut through all App.activeDocument().addObject("PartDesign::Pocket","Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #cut Right clamp hole #Sketch points p1x = self.rodDia/2+gv.printedToPrintedDia/2 p1y = 0 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, 0,1, 0, 0, self.rodDia/2+gv.clampThickness-gv.clampGap/2,0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',0,gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Distance',-1,1,0,3,self.rodDia/2+gv.printedToPrintedDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name+"Clamp").recompute() #Cut clamp hole through all App.activeDocument().addObject("PartDesign::Pocket","Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() #Mirror clamp hole App.activeDocument().addObject("PartDesign::Mirrored","Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [App.activeDocument().Pocket001,] App.activeDocument().Mirrored.MirrorPlane = (App.activeDocument().Sketch002, ["V_Axis"]) App.ActiveDocument.Mirrored.Originals = [App.ActiveDocument.Pocket001,] App.ActiveDocument.Mirrored.MirrorPlane = (App.ActiveDocument.Sketch002,["V_Axis"]) App.ActiveDocument.recompute() #Set view as axometric
def draw(self): if self.side == "Right": self.rodDia = gv.zRodDiaR elif self.side == "Left": self.rodDia = gv.zRodDiaL #set up helper Variables supportWidth = (self.rodDia + gv.printedToPrintedDia + gv.clampNutFaceToFace + 2 * gv.clampNutPadding) tabWidth = gv.slotDia + gv.slotWidth + 2 * gv.slotPadding tabLength = 2 * gv.slotPadding + gv.slotDia totalLength = 2 * tabLength + gv.zRodSupportLength try: Gui.getDocument(self.name) Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() App.closeDocument(self.name) App.setActiveDocument("") App.ActiveDocument = None Gui.ActiveDocument = None except: pass #make document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument = App.getDocument(self.name) Gui.ActiveDocument = Gui.getDocument(self.name) App.ActiveDocument = App.getDocument(self.name) #Create tabs #Sketch points p1x = -tabWidth / 2 p1y = totalLength / 2 p2x = tabWidth / 2 p2y = totalLength / 2 p3x = tabWidth / 2 p3y = -totalLength / 2 p4x = -tabWidth / 2 p4y = -totalLength / 2 #MakeSketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch') App.activeDocument().Sketch.Placement = App.Placement( App.Vector(0.000000, 0.000000, 0.000000), App.Rotation(0.000000, 0.000000, 0.000000, 1.000000)) Gui.activeDocument().activeView().setCamera( '#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1 0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }' ) # Gui.activeDocument().setEdit('Sketch') App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p1x, p1y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 2, 2, 3, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 3, 2, 0, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 0)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 2)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Symmetric', 0, 1, 1, 2, -1, 1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceY', 1, -totalLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceX', 2, -tabWidth)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Pad Sketch App.activeDocument().addObject("PartDesign::Pad", "Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = gv.tabThickness App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Cut top slot #Sketch Points p1x = -gv.slotWidth / 2 p1y = gv.zRodSupportLength / 2 + gv.slotPadding p2x = gv.slotWidth / 2 p2y = gv.zRodSupportLength / 2 + gv.slotPadding p3x = -gv.slotWidth / 2 p3y = gv.zRodSupportLength / 2 + gv.slotPadding + gv.slotDia / 2 p4x = gv.slotWidth / 2 p4y = gv.zRodSupportLength / 2 + gv.slotPadding + gv.slotDia / 2 p5x = gv.slotWidth / 2 p5y = gv.zRodSupportLength / 2 + gv.slotPadding - gv.slotDia / 2 p6x = -gv.slotWidth / 2 p6y = gv.zRodSupportLength / 2 + gv.slotPadding - gv.slotDia / 2 p7x = 0 p7y = gv.zRodSupportLength / 2 + gv.slotPadding - gv.slotDia / 2 #make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch001') # Gui.activeDocument().setEdit('Sketch001') App.activeDocument().Sketch001.Support = uf.getFace( App.ActiveDocument.Pad, None, None, None, None, gv.tabThickness, 0) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addExternal( "Pad", uf.getEdge(App.ActiveDocument.Pad, 0, 0, 0, 1, gv.tabThickness, 0)) App.ActiveDocument.Sketch001.addGeometry( Part.ArcOfCircle( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), gv.slotDia / 2), math.pi / 2, -math.pi / 2)) App.ActiveDocument.Sketch001.addGeometry( Part.ArcOfCircle( Part.Circle(App.Vector(p2x, p2y, 0), App.Vector(0, 0, 1), gv.slotDia / 2), -math.pi / 2, math.pi / 2)) App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p6x, p6y, 0), App.Vector(p5x, p5y, 0))) App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Tangent', 0, 2)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Tangent', 0, 3)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Tangent', 1, 2)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Tangent', 1, 3)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 0, 1, 3, 1)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 2, 1)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 2, 2, 1, 1)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 3, 2, 1, 2)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Horizontal', 2)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Point(App.Vector(p7x, p7y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('PointOnObject', 4, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('PointOnObject', 4, 1, -2)) App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Symmetric', 1, 1, 0, 2, 4, 1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Radius', 1, gv.slotDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Distance', 0, 3, 1, 3, gv.slotWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Distance', 0, 1, -3, gv.slotPadding)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut slot through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Mirror slot along horizotal axis App.activeDocument().addObject("PartDesign::Mirrored", "Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [ App.activeDocument().Pocket, ] App.activeDocument().Mirrored.MirrorPlane = ( App.activeDocument().Sketch001, ["V_Axis"]) Gui.activeDocument().Pocket.Visibility = False # Gui.ActiveDocument.Mirrored.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Mirrored.DisplayMode=Gui.ActiveDocument.Pocket.DisplayMode App.ActiveDocument.Mirrored.Originals = [ App.ActiveDocument.Pocket, ] App.ActiveDocument.Mirrored.MirrorPlane = ( App.ActiveDocument.Sketch001, ["H_Axis"]) App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make rod support column #Sketch points p1x = -supportWidth / 2 p1y = -gv.zRodSupportLength / 2 p2x = -supportWidth / 2 p2y = gv.zRodSupportLength / 2 p3x = supportWidth / 2 p3y = gv.zRodSupportLength / 2 p4x = supportWidth / 2 p4y = -gv.zRodSupportLength / 2 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch002') App.activeDocument().Sketch002.Support = uf.getFace( App.ActiveDocument.Mirrored, None, None, None, None, 0, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p1x, p1y, 0))) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 2, 2, 3, 1)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 3, 2, 0, 1)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Horizontal', 0)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Horizontal', 2)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Symmetric', 0, 1, 1, 2, -1, 1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('DistanceY', 1, gv.zRodSupportLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('DistanceX', 2, -supportWidth)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #pad rod support App.activeDocument().addObject("PartDesign::Pad", "Pad001") App.activeDocument().Pad001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pad001.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Mirrored") # Gui.ActiveDocument.Pad001.ShapeColor=Gui.ActiveDocument.Mirrored.ShapeColor # Gui.ActiveDocument.Pad001.LineColor=Gui.ActiveDocument.Mirrored.LineColor # Gui.ActiveDocument.Pad001.PointColor=Gui.ActiveDocument.Mirrored.PointColor App.ActiveDocument.Pad001.Length = gv.zRodStandoff - gv.clampGap / 2 App.ActiveDocument.Pad001.Reversed = 1 App.ActiveDocument.Pad001.Midplane = 0 App.ActiveDocument.Pad001.Length2 = 100.000000 App.ActiveDocument.Pad001.Type = 0 App.ActiveDocument.Pad001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make cut out for z rod #Sketch points p1x = 0 p1y = gv.zRodStandoff p2x = -self.rodDia / 2 p2y = gv.zRodStandoff p3x = self.rodDia / 2 p3y = gv.zRodStandoff #make sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch003') # Gui.activeDocument().setEdit('Sketch003') App.activeDocument().Sketch003.Support = uf.getFace( App.ActiveDocument.Pad001, 0, 0, -gv.zRodSupportLength / 2, 0, None, None) App.ActiveDocument.Sketch003.addExternal( "Pad001", uf.getEdge(App.ActiveDocument.Pad001, 0, 0, -gv.zRodSupportLength / 2, 0, gv.zRodStandoff - gv.clampGap / 2, 0)) App.activeDocument().recompute() App.ActiveDocument.Sketch003.addGeometry( Part.ArcOfCircle( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), self.rodDia / 2), math.pi, 2 * math.pi)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint( Sketcher.Constraint('PointOnObject', 0, 3, -2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint( Sketcher.Constraint('Coincident', 1, 1, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint( Sketcher.Constraint('Horizontal', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint( Sketcher.Constraint('PointOnObject', 0, 3, 1)) #Add dimensions App.ActiveDocument.Sketch003.addConstraint( Sketcher.Constraint('Distance', 0, 3, -3, gv.clampGap / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch003.addConstraint( Sketcher.Constraint('Radius', 0, self.rodDia / 2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch003 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch003") Gui.activeDocument().hide("Pad001") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pad001.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pad001.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pad001.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #cut Right clamp hole #Sketch points p1x = self.rodDia / 2 + gv.printedToPrintedDia / 2 p1y = 0 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch004') App.activeDocument().Sketch004.Support = uf.getFace( App.ActiveDocument.Pocket001, 0, 1, 0, 0, gv.zRodStandoff - gv.clampGap / 2, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch004') App.ActiveDocument.Sketch004.addGeometry( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), gv.printedToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint( Sketcher.Constraint('PointOnObject', 0, 3, -1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch004.addConstraint( Sketcher.Constraint('Radius', 0, gv.printedToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch004.addConstraint( Sketcher.Constraint('Distance', -1, 1, 0, 3, self.rodDia / 2 + gv.printedToPrintedDia / 2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Cut clamp hole through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket002") App.activeDocument().Pocket002.Sketch = App.activeDocument().Sketch004 App.activeDocument().Pocket002.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch004") Gui.activeDocument().hide("Pocket001") # Gui.ActiveDocument.Pocket002.ShapeColor=Gui.ActiveDocument.Pocket001.ShapeColor # Gui.ActiveDocument.Pocket002.LineColor=Gui.ActiveDocument.Pocket001.LineColor # Gui.ActiveDocument.Pocket002.PointColor=Gui.ActiveDocument.Pocket001.PointColor App.ActiveDocument.Pocket002.Length = 5.000000 App.ActiveDocument.Pocket002.Type = 1 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Reflect clamp hole accross verticle axis App.activeDocument().addObject("PartDesign::Mirrored", "Mirrored001") App.ActiveDocument.recompute() App.activeDocument().Mirrored001.Originals = [ App.activeDocument().Pocket002, ] App.activeDocument().Mirrored001.MirrorPlane = ( App.activeDocument().Sketch004, ["V_Axis"]) Gui.activeDocument().Pocket002.Visibility = False # Gui.ActiveDocument.Mirrored001.ShapeColor=Gui.ActiveDocument.Pocket002.ShapeColor # Gui.ActiveDocument.Mirrored001.DisplayMode=Gui.ActiveDocument.Pocket002.DisplayMode App.ActiveDocument.Mirrored001.Originals = [ App.ActiveDocument.Pocket002, ] App.ActiveDocument.Mirrored001.MirrorPlane = ( App.ActiveDocument.Sketch004, ["V_Axis"]) App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #refine shape App.activeDocument().addObject( "Part::Feature", "Refined" ).Shape = App.ActiveDocument.Mirrored001.Shape.removeSplitter() Gui.activeDocument().hide("Mirrored001") #Add Nut trap to right side #Sketch Points mat = uf.hexagonPoints(self.rodDia / 2 + gv.printedToPrintedDia / 2, 0, gv.clampNutFaceToFace, 0) p1x = mat[0][0] p1y = mat[0][1] p2x = mat[1][0] p2y = mat[1][1] p3x = mat[2][0] p3y = mat[2][1] p4x = mat[3][0] p4y = mat[3][1] p5x = mat[4][0] p5y = mat[4][1] p6x = mat[5][0] p6y = mat[5][1] p7x = mat[6][0] p7y = mat[6][1] hexRadius = mat[7][0] #make sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch005') # Gui.activeDocument().setEdit('Sketch005') App.activeDocument().Sketch005.Support = uf.getFace( App.ActiveDocument.Refined, 0, 0, 0, 0, 0, 0) App.ActiveDocument.Sketch005.addExternal( "Refined", uf.getEdge(App.ActiveDocument.Refined, 0, 1, None, None, 0, 0, radius=gv.printedToPrintedDia / 2, makeUnique=True)) App.ActiveDocument.Sketch005.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry( Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p5x, p5y, 0))) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Coincident', 2, 2, 3, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry( Part.Line(App.Vector(p5x, p5y, 0), App.Vector(p6x, p6y, 0))) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Coincident', 3, 2, 4, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry( Part.Line(App.Vector(p6x, p6y, 0), App.Vector(p1x, p1y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Coincident', 4, 2, 5, 1)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Coincident', 5, 2, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addGeometry( Part.Circle(App.Vector(p7x, p7y, 0), App.Vector(0, 0, 1), hexRadius)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('PointOnObject', 0, 1, 6)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('PointOnObject', 0, 2, 6)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('PointOnObject', 1, 2, 6)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('PointOnObject', 2, 2, 6)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('PointOnObject', 3, 2, 6)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('PointOnObject', 4, 2, 6)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Equal', 5, 0)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Equal', 0, 1)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Equal', 1, 2)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Equal', 2, 3)) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Equal', 3, 4)) App.ActiveDocument.Sketch005.toggleConstruction(6) App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Coincident', -3, 3, 6, 3)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch005.addConstraint( Sketcher.Constraint('Distance', 0, 2, 4, gv.clampNutFaceToFace)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #cut nut trap out App.activeDocument().addObject("PartDesign::Pocket", "Pocket003") App.activeDocument().Pocket003.Sketch = App.activeDocument().Sketch005 App.activeDocument().Pocket003.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch005") Gui.activeDocument().hide("Refined") # Gui.ActiveDocument.Pocket003.ShapeColor=Gui.ActiveDocument.Pocket002.ShapeColor # Gui.ActiveDocument.Pocket003.LineColor=Gui.ActiveDocument.Pocket002.LineColor # Gui.ActiveDocument.Pocket003.PointColor=Gui.ActiveDocument.Pocket002.PointColor App.ActiveDocument.Pocket003.Length = gv.rodSupportNutTrapDepthMin App.ActiveDocument.Pocket003.Type = 0 App.ActiveDocument.Pocket003.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Mirror nut trap App.activeDocument().addObject("PartDesign::Mirrored", "Mirrored002") App.ActiveDocument.recompute() App.activeDocument().Mirrored002.Originals = [ App.activeDocument().Pocket003, ] App.activeDocument().Mirrored002.MirrorPlane = ( App.activeDocument().Sketch005, ["V_Axis"]) Gui.activeDocument().Pocket003.Visibility = False # Gui.ActiveDocument.Mirrored002.ShapeColor=Gui.ActiveDocument.Pocket003.ShapeColor # Gui.ActiveDocument.Mirrored002.DisplayMode=Gui.ActiveDocument.Pocket003.DisplayMode App.ActiveDocument.Mirrored002.Originals = [ App.ActiveDocument.Pocket003, ] App.ActiveDocument.Mirrored002.MirrorPlane = ( App.ActiveDocument.Sketch005, ["V_Axis"]) App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Set view as axometric # Gui.activeDocument().activeView().viewAxometric() #Make the coresponding xRodClamp try: # Gui.getDocument(self.name+"Clamp") # Gui.getDocument(self.name+"Clamp").resetEdit() App.getDocument(self.name + "Clamp").recompute() App.closeDocument(self.name + "Clamp") App.setActiveDocument("") App.ActiveDocument = None # Gui.ActiveDocument=None except: pass #make document App.newDocument(self.name + "Clamp") App.setActiveDocument(self.name + "Clamp") App.ActiveDocument = App.getDocument(self.name + "Clamp") # Gui.ActiveDocument=Gui.getDocument(self.name+"Clamp") App.ActiveDocument = App.getDocument(self.name + "Clamp") #Make clamp body #Sketch points p1x = -supportWidth / 2 p1y = -gv.zRodSupportLength / 2 p2x = -supportWidth / 2 p2y = gv.zRodSupportLength / 2 p3x = supportWidth / 2 p3y = gv.zRodSupportLength / 2 p4x = supportWidth / 2 p4y = -gv.zRodSupportLength / 2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch') App.activeDocument().Sketch.Placement = App.Placement( App.Vector(0.000000, 0.000000, 0.000000), App.Rotation(0.000000, 0.000000, 0.000000, 1.000000)) # Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA \n position 0 0 87 \n orientation 0 0 1 0 \n nearDistance -112.88701 \n farDistance 287.28702 \n aspectRatio 1 \n focalDistance 87 \n height 143.52005 }') # Gui.activeDocument().setEdit('Sketch') App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p1x, p1y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p4x, p4y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p2x, p2y, 0))) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p1x, p1y, 0))) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 0, 2, 1, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 2, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 2, 2, 3, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Coincident', 3, 2, 0, 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 0)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 2)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Symmetric', 0, 1, 1, 2, -1, 1)) App.ActiveDocument.recompute() #add dimensions App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceY', 1, gv.zRodSupportLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceX', 2, -supportWidth)) App.ActiveDocument.recompute() # Gui.getDocument(self.name+"Clamp").resetEdit() App.getDocument(self.name + "Clamp").recompute() #pad rod support App.activeDocument().addObject("PartDesign::Pad", "Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch App.activeDocument().Pad.Length = 10.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch") App.ActiveDocument.Pad.Length = self.rodDia / 2 + gv.clampThickness - gv.clampGap / 2 App.ActiveDocument.Pad.Reversed = 0 App.ActiveDocument.Pad.Midplane = 0 App.ActiveDocument.Pad.Length2 = 100.000000 App.ActiveDocument.Pad.Type = 0 App.ActiveDocument.Pad.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #make cut out for rod #sketch points p1x = 0 p1y = self.rodDia / 2 + gv.clampThickness p2x = -self.rodDia / 2 p2y = self.rodDia / 2 + gv.clampThickness p3x = self.rodDia / 2 p3y = self.rodDia / 2 + gv.clampThickness #Make Sketch #make sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch001') App.activeDocument().Sketch001.Support = uf.getFace( App.ActiveDocument.Pad, 0, 0, -gv.zRodSupportLength / 2, 0, None, None) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addExternal( "Pad", uf.getEdge(App.ActiveDocument.Pad, 0, 0, -gv.zRodSupportLength / 2, 0, self.rodDia / 2 + gv.clampThickness - gv.clampGap / 2, 0)) # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.ArcOfCircle( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), self.rodDia / 2), math.pi, 2 * math.pi)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('PointOnObject', 0, 3, -2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Line(App.Vector(p2x, p2y, 0), App.Vector(p3x, p3y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 1, 1, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 1, 2, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Horizontal', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('PointOnObject', 0, 3, 1)) #Add dimensions App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Distance', 0, 3, -3, gv.clampGap / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Radius', 0, self.rodDia / 2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name+"Clamp").resetEdit() App.getDocument(self.name + "Clamp").recompute() #Cut through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Pad") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Pad.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Pad.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Pad.PointColor App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #cut Right clamp hole #Sketch points p1x = self.rodDia / 2 + gv.printedToPrintedDia / 2 p1y = 0 #Make sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch002') App.activeDocument().Sketch002.Support = uf.getFace( App.ActiveDocument.Pocket, 0, 1, 0, 0, self.rodDia / 2 + gv.clampThickness - gv.clampGap / 2, 0) App.ActiveDocument.recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), gv.printedToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 0, 3, -1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Radius', 0, gv.printedToPrintedDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Distance', -1, 1, 0, 3, self.rodDia / 2 + gv.printedToPrintedDia / 2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name+"Clamp").resetEdit() App.getDocument(self.name + "Clamp").recompute() #Cut clamp hole through all App.activeDocument().addObject("PartDesign::Pocket", "Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = 5.0 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.Pocket.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.Pocket.PointColor App.ActiveDocument.Pocket001.Length = 5.000000 App.ActiveDocument.Pocket001.Type = 1 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Mirror clamp hole App.activeDocument().addObject("PartDesign::Mirrored", "Mirrored") App.ActiveDocument.recompute() App.activeDocument().Mirrored.Originals = [ App.activeDocument().Pocket001, ] App.activeDocument().Mirrored.MirrorPlane = ( App.activeDocument().Sketch002, ["V_Axis"]) Gui.activeDocument().Pocket001.Visibility = False # Gui.activeDocument().setEdit('Mirrored') # Gui.ActiveDocument.Mirrored.ShapeColor=Gui.ActiveDocument.Pocket001.ShapeColor # Gui.ActiveDocument.Mirrored.DisplayMode=Gui.ActiveDocument.Pocket001.DisplayMode App.ActiveDocument.Mirrored.Originals = [ App.ActiveDocument.Pocket001, ] App.ActiveDocument.Mirrored.MirrorPlane = ( App.ActiveDocument.Sketch002, ["V_Axis"]) App.ActiveDocument.recompute()