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): 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) #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() 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() 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() #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() 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() 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() 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) #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: 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() # Gui.activeDocument().resetEdit()
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): #determine the horizontal or verticle component of the shaftToMountHoleDist if gv.zMotorMountLocation == "Top": gv.zMotorMountMountingFaceWidth = gv.frameHeight gv.zMotorMountLength = gv.zMotorMountMountingFaceWidth+gv.zRodStandoff+gv.zMotorBodyWidth/2 gv.zMotorMountEdgeToShaftHole = gv.zMotorMountMountingFaceWidth + gv.zRodStandoff if gv.zMotorMountLocation == "Bottom": gv.zMotorMountMountingFaceWidth = gv.frameWidth gv.zMotorMountLength = gv.zMotorMountMountingFaceWidth/2+gv.zRodZScrewDist+gv.zMotorBodyWidth/2 gv.zMotorMountEdgeToShaftHole = gv.zMotorMountMountingFaceWidth/2 + gv.zRodZScrewDist mountHoleSpacing = gv.zMotorMountPlateWidth/2 #Make file and build part try: App.getDocument('zMotorMount').recompute() App.closeDocument("zMotorMount") App.setActiveDocument("") App.ActiveDocument=None except: pass #make document App.newDocument("zMotorMount") App.setActiveDocument("zMotorMount") App.ActiveDocument=App.getDocument("zMotorMount") #Make plate #sketch points p1x = -gv.zMotorMountPlateWidth/2 p1y = 0 p2x = -gv.zMotorMountPlateWidth/2 p2y = gv.zMotorMountLength p3x = gv.zMotorMountPlateWidth/2 p3y = gv.zMotorMountLength p4x = gv.zMotorMountPlateWidth/2 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(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.zMotorMountLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,gv.zMotorMountPlateWidth)) App.ActiveDocument.recompute() #Pad 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.zMotorMountPlateThickness 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 mounting plate to frame #Sketch Points p1x = -mountHoleSpacing/2 p1y = gv.zMotorMountMountingFaceWidth/2 p2x = mountHoleSpacing/2 p2y = gv.zMotorMountMountingFaceWidth/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None,None, None, None, gv.zMotorMountPlateThickness, 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('Horizontal',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',0,2,0,1,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,3,0,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',2,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',1,2)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',2,gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',0,mountHoleSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',-1,1,0,gv.zMotorMountMountingFaceWidth/2)) App.ActiveDocument.recompute() App.getDocument('zMotorMount').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() #Make motorMountHoles in plate #Sketch points p1x = -gv.zShaftToMountHoleDistX p1y = gv.zMotorMountEdgeToShaftHole-gv.zShaftToMountHoleDistX p2x = -gv.zShaftToMountHoleDistX p2y = gv.zMotorMountEdgeToShaftHole+gv.zShaftToMountHoleDistX p3x = gv.zShaftToMountHoleDistX p3y = gv.zMotorMountEdgeToShaftHole+gv.zShaftToMountHoleDistX p4x = gv.zShaftToMountHoleDistX p4y = gv.zMotorMountEdgeToShaftHole-gv.zShaftToMountHoleDistX p5x = 0 p5y = gv.zMotorMountEdgeToShaftHole #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, None,None, None, None, gv.zMotorMountPlateThickness, 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('Equal',2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(3) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.zMotorMountShaftHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',4,3,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.zMotorMountHoleDia/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.zMotorMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',6,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.zMotorMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',7,3,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p4x,p4y,0),App.Vector(0,0,1),gv.zMotorMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',8,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',5,6)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',6,8)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',8,7)) App.ActiveDocument.recompute() if gv.zMotorMountHoles ==2: App.ActiveDocument.Sketch002.toggleConstruction(5) App.ActiveDocument.Sketch002.toggleConstruction(8) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',1,2*gv.zShaftToMountHoleDistX)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',6,gv.zMotorMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',4,gv.zMotorMountShaftHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Distance',-1,1,0,p1y)) App.ActiveDocument.recompute() #Add symetric constraint App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',0,2,2,2,4,3)) App.ActiveDocument.recompute() App.getDocument('zMotorMount').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): 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 side bar uf.extrudeFrameMember(self.name, gv.sideBarLength) if gv.zMotorMountLocation == "Top": return #Add holes for zMotorMount #Sketch points p1x = 0 p1y = 0 p2x = 0 p2y = gv.sideBarLength/2+gv.extruderNozzleStandoff-gv.zMotorMountPlateWidth/4 p3x = 0 p3y = gv.sideBarLength/2+gv.extruderNozzleStandoff-3*gv.zMotorMountPlateWidth/4 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, gv.sideBarLength/2, 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.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(0) 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',2,3,1,2)) 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',3,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',2,3)) App.ActiveDocument.recompute() #Add Dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',2,gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',1,gv.zMotorMountPlateWidth/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',0,p3y)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut holes through Bar 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: 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): plateLength = gv.frameWidth + gv.yMotorBodyWidth mountHoleSpacing = gv.yMotorMountPlateWidth / 2 #Make file and build part try: Gui.getDocument('yMotorMount') Gui.getDocument('yMotorMount').resetEdit() App.getDocument('yMotorMount').recompute() App.closeDocument("yMotorMount") App.setActiveDocument("") App.ActiveDocument = None Gui.ActiveDocument = None except: pass #make document App.newDocument("yMotorMount") App.setActiveDocument("yMotorMount") App.ActiveDocument = App.getDocument("yMotorMount") Gui.ActiveDocument = Gui.getDocument("yMotorMount") #Make plate #sketch points p1x = -gv.yMotorMountPlateWidth / 2 p1y = 0 p2x = -gv.yMotorMountPlateWidth / 2 p2y = plateLength p3x = gv.yMotorMountPlateWidth / 2 p3y = plateLength p4x = gv.yMotorMountPlateWidth / 2 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)) 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, plateLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceX', 0, gv.yMotorMountPlateWidth)) App.ActiveDocument.recompute() #Pad plate 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.yMotorMountPlateThickness 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 frame #Sketch Points p1x = -mountHoleSpacing / 2 p1y = gv.frameWidth / 2 p2x = mountHoleSpacing / 2 p2y = gv.frameWidth / 2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch001') App.activeDocument().Sketch001.Support = uf.getFace( App.ActiveDocument.Pad, None, None, None, None, gv.yMotorMountPlateThickness, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') 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('Horizontal', 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Symmetric', 0, 2, 0, 1, -2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 1, 3, 0, 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', 2, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 1, 2)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Radius', 2, gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('DistanceX', 0, mountHoleSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Distance', -1, 1, 0, gv.frameWidth / 2)) App.ActiveDocument.recompute() # Gui.getDocument('yMotorMount').resetEdit() App.getDocument('yMotorMount').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 motorMountHoles in plate #Sketch points p1x = -gv.yMotorShaftToMountHoleDistX p1y = gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2 p2x = -gv.yMotorShaftToMountHoleDistX p2y = gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2 + 2 * gv.yMotorShaftToMountHoleDistX p3x = gv.yMotorShaftToMountHoleDistX p3y = gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2 + 2 * gv.yMotorShaftToMountHoleDistX p4x = gv.yMotorShaftToMountHoleDistX p4y = gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2 p5x = 0 p5y = gv.frameWidth + gv.yMotorBodyWidth / 2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch002') App.activeDocument().Sketch002.Support = uf.getFace( App.ActiveDocument.Pocket, None, None, None, None, gv.yMotorMountPlateThickness, 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('Equal', 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(3) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p5x, p5y, 0), App.Vector(0, 0, 1), gv.yMotorMountShaftHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 4, 3, -2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p2x, p2y, 0), App.Vector(0, 0, 1), gv.yMotorMountHoleDia / 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.yMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 6, 3, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), gv.yMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 7, 3, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p4x, p4y, 0), App.Vector(0, 0, 1), gv.yMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 8, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 5, 6)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 6, 8)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 8, 7)) App.ActiveDocument.recompute() if gv.yMotorMountHoles == 2: App.ActiveDocument.Sketch002.toggleConstruction(5) App.ActiveDocument.Sketch002.toggleConstruction(8) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('DistanceY', 1, 2 * gv.yMotorShaftToMountHoleDistX)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Radius', 6, gv.yMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Radius', 4, gv.yMotorMountShaftHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint( 'Distance', -1, 1, 0, gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2)) App.ActiveDocument.recompute() #Add symetric constraint App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Symmetric', 0, 2, 2, 2, 4, 3)) App.ActiveDocument.recompute() # Gui.getDocument('yMotorMount').resetEdit() App.getDocument('yMotorMount').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() 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): #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): 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): #helper Variables width = gv.frameWidth - 2 * gv.feetOffset height = gv.feetBaseThickness + gv.mountToFrameHeadThickness + gv.feetBoltHeadClearanceVert counterSinkRadius = gv.printedToFrameHeadDia / 2 + gv.feetBoltHeadClearanceHor #Make file and build part 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 #Create Document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument = App.getDocument(self.name) Gui.ActiveDocument = Gui.getDocument(self.name) #make body of foot #Sketch points x1 = -width / 2 y1 = x1 x2 = x1 y2 = -x1 x3 = -x1 y3 = -x1 x4 = -x1 y4 = x1 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(x1, y1, 0), App.Vector(x2, y2, 0))) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(x2, y2, 0), App.Vector(x3, y3, 0))) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(x3, y3, 0), App.Vector(x4, y4, 0))) App.ActiveDocument.Sketch.addGeometry( Part.Line(App.Vector(x4, y4, 0), App.Vector(x1, y1, 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', 1)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Horizontal', 3)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 0)) App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Vertical', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Symmetric', 1, 2, 0, 1, -1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('Equal', 3, 2)) App.ActiveDocument.recompute() #add dimmensions App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceX', 1, width)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #Pad foot App.activeDocument().addObject("PartDesign::Pad", "Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch Gui.activeDocument().hide("Sketch") # Gui.activeDocument().setEdit('Pad',1) App.ActiveDocument.Pad.Length = height 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() #Add draft to the foot App.activeDocument().addObject("PartDesign::Draft", "Draft") Gui.activeDocument().hide("Pad") App.ActiveDocument.Draft.Angle = gv.feetDraftAngle App.ActiveDocument.Draft.Reversed = 0 #get faces that will be drafted side1 = uf.getFace(App.ActiveDocument.Pad, width / 2, 0, None, None, None, None) side2 = uf.getFace(App.ActiveDocument.Pad, -width / 2, 0, None, None, None, None) side3 = uf.getFace(App.ActiveDocument.Pad, None, None, width / 2, 0, None, None) side4 = uf.getFace(App.ActiveDocument.Pad, None, None, -width / 2, 0, None, None) App.ActiveDocument.Draft.Base = (App.ActiveDocument.Pad, [ side1[1][0], side2[1][0], side3[1][0], side4[1][0] ]) App.ActiveDocument.Draft.NeutralPlane = uf.getFace( App.ActiveDocument.Pad, None, None, None, None, 0, 0) App.ActiveDocument.Draft.PullDirection = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make through hole for mounting bolt App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch001') App.activeDocument().Sketch001.Support = uf.getFace( App.ActiveDocument.Draft, None, None, None, None, height, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(0, 0, 0), App.Vector(0, 0, 1), gv.printedToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Coincident', 0, 3, -1, 1)) App.ActiveDocument.recompute() #add dimmensions App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Radius', 0, gv.printedToFrameDia / 2)) App.ActiveDocument.recompute() # Gui.getDocument('feet').resetEdit() App.getDocument('feet').recompute() App.activeDocument().addObject("PartDesign::Pocket", "Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 10 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Draft") # Gui.activeDocument().setEdit('Pocket') # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Draft.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Draft.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Draft.PointColor App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Add countersink hole for bolt head App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch002') App.activeDocument().Sketch002.Support = (App.ActiveDocument.Pocket, ["Face5"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(0.0, 0.000000, 0), App.Vector(0, 0, 1), counterSinkRadius)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 0, 3, -1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Radius', 0, counterSinkRadius)) App.ActiveDocument.recompute() # Gui.getDocument('feet').resetEdit() App.getDocument('feet').recompute() App.activeDocument().addObject("PartDesign::Pocket", "Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = height - gv.feetBaseThickness App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.activeDocument().setEdit('Pocket001') # 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.Type = 0 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute()
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): #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: 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 #Create Document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument = App.getDocument(self.name) Gui.ActiveDocument = Gui.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)) # 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.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)) # Gui.getDocument(self.name).resetEdit() 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() Gui.activeDocument().hide("Sketch") 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() # Gui.activeDocument().resetEdit() #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() # Gui.activeDocument().setEdit('Sketch001') 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)) # Gui.getDocument(self.name).resetEdit() 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() 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 = 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() # Gui.activeDocument().resetEdit() #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() # Gui.activeDocument().setEdit('Sketch002') 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 # 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 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() # Gui.activeDocument().setEdit('Sketch003') 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() # Gui.getDocument(self.name).resetEdit() 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() 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 = beltChannelDepth App.ActiveDocument.Pocket002.Type = 0 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() 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__ # Gui.ActiveDocument.ActiveObject.ShapeColor=Gui.ActiveDocument.Pocket002.ShapeColor # Gui.ActiveDocument.ActiveObject.LineColor=Gui.ActiveDocument.Pocket002.LineColor # Gui.ActiveDocument.ActiveObject.PointColor=Gui.ActiveDocument.Pocket002.PointColor Gui.getDocument( self.name).getObject("Pocket002").Visibility = False
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) #Revolve barrel body #Sketch points p1x = gv.extruderBarrelDia/2 p1y = 0 p2x = gv.extruderBarrelLinerDia/2 p2y = p1y p3x = p2x p3y = gv.extruderBarrelLength p4x = p1x p4y = p3y #Make Sketch # make fin outline finThickness = ((gv.extruderBarrelLength - 2*gv.extruderBarrelFaceThickness - (gv.extruderBarrelNumFins+1)*gv.extruderBarrelFinGap) / gv.extruderBarrelNumFins) y = gv.extruderBarrelLength - gv.extruderBarrelFaceThickness x1 = gv.extruderBarrelLinerDia/2 + gv.extruderBarrelCoreThickness x2 = gv.extruderBarrelDia/2 i = 0 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)) Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA\n position 0 -87 0 \n orientation -1 0 0 4.712389\n nearDistance -112.88701\n farDistance 287.28702\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('PointOnObject',0,1,-1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-1)) 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.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) 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.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(x2,y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x2,y,0),App.Vector(x1,y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',4)) for i in range(0, gv.extruderBarrelNumFins+1): App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x1,y,0),App.Vector(x1,y-gv.extruderBarrelFinGap,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*i+4,2,4*i+5,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',4*i+5)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x1,y-gv.extruderBarrelFinGap,0),App.Vector(x2,y-gv.extruderBarrelFinGap,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*i+5,2,4*i+6,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',4*i+6)) if i<gv.extruderBarrelNumFins: App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x2,y-gv.extruderBarrelFinGap,0),App.Vector(x2,y-gv.extruderBarrelFinGap-finThickness,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*i+6,2,4*i+7,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',4*i+7)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x2,y-gv.extruderBarrelFinGap-finThickness,0),App.Vector(x1,y-gv.extruderBarrelFinGap-finThickness,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*i+8,1,4*i+7,2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',4*i+8)) y = y-gv.extruderBarrelFinGap-finThickness #add equal constraints for i in range(0, gv.extruderBarrelNumFins-1): App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*i+7,4*i+11)) for i in range(0, gv.extruderBarrelNumFins): App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*i+5,4*i+9)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*i+4,4*i+6)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*i+6,4*i+8)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*gv.extruderBarrelNumFins+4,4*gv.extruderBarrelNumFins+6)) #close sketch with the last vertical line App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y+gv.extruderBarrelFaceThickness,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*gv.extruderBarrelNumFins+7,1,4*gv.extruderBarrelNumFins+6,2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*gv.extruderBarrelNumFins+7,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',4*gv.extruderBarrelNumFins+7)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*gv.extruderBarrelNumFins+7,3)) #Add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',-2,1,1,2,gv.extruderBarrelLinerDia/2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',-2,1,2,2,gv.extruderBarrelDia/2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',3,-gv.extruderBarrelFaceThickness)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',5,-gv.extruderBarrelFinGap)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,gv.extruderBarrelLength)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Distance',4,2,1,gv.extruderBarrelCoreThickness)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() #revolve profile to make barrel 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() Gui.activeDocument().hide("Sketch") # Gui.activeDocument().setEdit('Revolution') 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() # Gui.activeDocument().resetEdit() #Make mounting holes in top face #Sketch Points p1x = gv.hotEndMountHoleSpacing/2 p1y = 0 App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') # App.activeDocument().Sketch001.Support = (App.ActiveDocument.Revolution,["Face3"]) App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Revolution, 0,0, 0,0, gv.extruderBarrelLength,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.extruderBarrelMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',-1,1,0,3,gv.hotEndMountHoleSpacing/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,gv.extruderBarrelMountHoleDia/2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() 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("Revolution") # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Revolution.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Revolution.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Revolution.PointColor App.ActiveDocument.Pocket.Length = gv.extruderBarrelMountHoleDepth App.ActiveDocument.Pocket.Type = 0 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Copy hole to other side of face App.activeDocument().addObject("PartDesign::PolarPattern","PolarPattern") App.ActiveDocument.recompute() App.activeDocument().PolarPattern.Originals = [App.activeDocument().Pocket,] App.activeDocument().PolarPattern.Axis = (App.activeDocument().Sketch001, ["N_Axis"]) App.activeDocument().PolarPattern.Angle = 360 App.activeDocument().PolarPattern.Occurrences = 2 Gui.activeDocument().Pocket.Visibility=False # Gui.ActiveDocument.PolarPattern.ShapeColor=Gui.ActiveDocument.Pocket.ShapeColor # Gui.ActiveDocument.PolarPattern.DisplayMode=Gui.ActiveDocument.Pocket.DisplayMode App.ActiveDocument.PolarPattern.Originals = [App.ActiveDocument.Pocket,] App.ActiveDocument.PolarPattern.Axis = (App.ActiveDocument.Sketch001,["N_Axis"]) App.ActiveDocument.PolarPattern.Reversed = 0 App.ActiveDocument.PolarPattern.Angle = 360.000000 App.ActiveDocument.PolarPattern.Occurrences = 2 App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Make mounting holes on bottom face p1x = gv.hotEndMountHoleSpacing/2 p1y = 0 App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.PolarPattern, 0,0, 0,0, 0,0) # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.extruderBarrelMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',-1,1,0,3,gv.hotEndMountHoleSpacing/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',0,gv.extruderBarrelMountHoleDia/2)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).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() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("PolarPattern") # Gui.ActiveDocument.Pocket001.ShapeColor=Gui.ActiveDocument.PolarPattern.ShapeColor # Gui.ActiveDocument.Pocket001.LineColor=Gui.ActiveDocument.PolarPattern.LineColor # Gui.ActiveDocument.Pocket001.PointColor=Gui.ActiveDocument.PolarPattern.PointColor App.ActiveDocument.Pocket001.Length = gv.extruderBarrelMountHoleDepth App.ActiveDocument.Pocket001.Type = 0 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() #Copy hole to other side of bottom face App.activeDocument().addObject("PartDesign::PolarPattern","PolarPattern001") App.ActiveDocument.recompute() App.activeDocument().PolarPattern001.Originals = [App.activeDocument().Pocket001,] App.activeDocument().PolarPattern001.Axis = (App.activeDocument().Sketch002, ["N_Axis"]) App.activeDocument().PolarPattern001.Angle = 360 App.activeDocument().PolarPattern001.Occurrences = 2 Gui.activeDocument().Pocket001.Visibility=False # Gui.ActiveDocument.PolarPattern001.ShapeColor=Gui.ActiveDocument.Pocket001.ShapeColor # Gui.ActiveDocument.PolarPattern001.DisplayMode=Gui.ActiveDocument.Pocket001.DisplayMode App.ActiveDocument.PolarPattern001.Originals = [App.ActiveDocument.Pocket001,] App.ActiveDocument.PolarPattern001.Axis = (App.ActiveDocument.Sketch002,["N_Axis"]) App.ActiveDocument.PolarPattern001.Reversed = 0 App.ActiveDocument.PolarPattern001.Angle = 360.000000 App.ActiveDocument.PolarPattern001.Occurrences = 2 App.ActiveDocument.recompute()
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): #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 #determine total width of motor mount plate xMotorMountWidth = gv.xMotorBodyWidth + gv.motorToXRodClampSpacing + gv.xRodClampWidth 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 #Create Document try: Gui.getDocument('xEndMotorPlate') Gui.getDocument('xEndMotorPlate').resetEdit() App.getDocument('xEndMotorPlate').recompute() App.closeDocument("xEndMotorPlate") App.setActiveDocument("") App.ActiveDocument = None Gui.ActiveDocument = None except: pass App.newDocument("xEndMotorPlate") App.setActiveDocument("xEndMotorPlate") App.ActiveDocument = App.getDocument("xEndMotorPlate") Gui.ActiveDocument = Gui.getDocument("xEndMotorPlate") #Make the plate #Sketch points p1x = 0 p1y = 0 p2x = 0 p2y = gv.xMotorMountPlateWidth p3x = xMotorMountWidth p3y = gv.xMotorMountPlateWidth p4x = xMotorMountWidth 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)) # 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('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, -xMotorMountWidth)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint( Sketcher.Constraint('DistanceY', 2, -gv.xMotorMountPlateWidth)) App.ActiveDocument.recompute() # Gui.getDocument('xEndMotorPlate').resetEdit() App.getDocument('xEndMotorPlate').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() Gui.activeDocument().hide("Sketch") 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() # Gui.activeDocument().resetEdit() #cut holes for xRodClamp #Sketch Points p1x = 0 p1y = gv.xMotorMountPlateWidth / 2 p2x = xMotorMountWidth p2y = gv.xMotorMountPlateWidth / 2 p3x = gv.xMotorBodyWidth + gv.motorToXRodClampSpacing + gv.xRodClampEdgeToMountHoleDist p3y = gv.xRodAxisToMountHoleDist p4x = gv.xMotorBodyWidth + gv.motorToXRodClampSpacing + gv.xRodClampEdgeToMountHoleDist p4y = gv.xMotorMountPlateWidth - gv.xRodAxisToMountHoleDist p5x = xMotorMountWidth - gv.xRodClampEdgeToMountHoleDist p5y = gv.xMotorMountPlateWidth - gv.xRodAxisToMountHoleDist p6x = xMotorMountWidth - gv.xRodClampEdgeToMountHoleDist p6y = gv.xRodAxisToMountHoleDist p7x = gv.xMotorBodyWidth + gv.motorToXRodClampSpacing + gv.xRodClampEdgeToMountHoleDist p7y = gv.xMotorMountPlateWidth / 2 p8x = gv.xMotorBodyWidth + gv.motorToXRodClampSpacing + 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() # Gui.activeDocument().setEdit('Sketch001') 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, xMotorMountWidth, 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 # Gui.getDocument('xEndMotorPlate').resetEdit() App.getDocument('xEndMotorPlate').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() #Cut holes for motor #Sketch Points p1x = 0 p1y = gv.xMotorMountPlateWidth / 2 p2x = xMotorMountWidth p2y = gv.xMotorMountPlateWidth / 2 p3x = gv.xEndMotorMountHoleDia / 2 + gv.xEndMotorMountHolePadding p3y = gv.xMotorMountPlateWidth / 2 - gv.xMotorShaftToMountHoleDistX p4x = gv.xEndMotorMountHoleDia / 2 + gv.xEndMotorMountHolePadding p4y = gv.xMotorMountPlateWidth / 2 + gv.xMotorShaftToMountHoleDistX p5x = gv.xEndMotorMountHoleDia / 2 + gv.xEndMotorMountHolePadding + 2 * gv.xMotorShaftToMountHoleDistX p5y = gv.xMotorMountPlateWidth / 2 + gv.xMotorShaftToMountHoleDistX p6x = gv.xEndMotorMountHoleDia / 2 + gv.xEndMotorMountHolePadding + 2 * gv.xMotorShaftToMountHoleDistX p6y = gv.xMotorMountPlateWidth / 2 - gv.xMotorShaftToMountHoleDistX p7x = gv.xEndMotorMountHoleDia / 2 + gv.xEndMotorMountHolePadding p7y = gv.xMotorMountPlateWidth / 2 p8x = gv.xMotorBodyWidth / 2 p8y = gv.xMotorMountPlateWidth / 2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch002') App.activeDocument().Sketch002.Support = uf.getFace( App.ActiveDocument.Pocket, None, None, None, None, gv.xMotorMountPlateThickness, 0) #(App.ActiveDocument.Pocket,["Face5"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addExternal( "Pocket", uf.getEdge(App.ActiveDocument.Pocket, 0, 0, gv.xMotorMountPlateWidth / 2, 0, gv.xMotorMountPlateThickness, 0)) App.ActiveDocument.Sketch002.addExternal( "Pocket", uf.getEdge(App.ActiveDocument.Pocket, xMotorMountWidth, 0, gv.xMotorMountPlateWidth / 2, 0, gv.xMotorMountPlateThickness, 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, 2, -4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Symmetric', -1, 1, -3, 2, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Horizontal', 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p3x, p3y, 0), App.Vector(p4x, p4y, 0))) App.ActiveDocument.Sketch002.addGeometry( Part.Line(App.Vector(p4x, p4y, 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.addGeometry( Part.Line(App.Vector(p6x, p6y, 0), App.Vector(p3x, p3y, 0))) 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, 4, 1)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 4, 2, 1, 1)) App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Horizontal', 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Horizontal', 4)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 3)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Vertical', 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 3, 4)) App.ActiveDocument.recompute() App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.Sketch002.toggleConstruction(3) App.ActiveDocument.Sketch002.toggleConstruction(4) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Point(App.Vector(p7x, p7y, 0))) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 5, 1, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 5, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint( 'Distance', 1, 1, -3, gv.xEndMotorMountHoleDia / 2 + gv.xEndMotorMountHolePadding)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('DistanceX', 4, -2 * gv.xMotorShaftToMountHoleDistX)) App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p3x, p3y, 0), App.Vector(0, 0, 1), gv.xEndMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 6, 3, 1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p5x, p5y, 0), App.Vector(0, 0, 1), gv.xEndMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 7, 3, 2, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p8x, p8y, 0), App.Vector(0, 0, 1), gv.xMotorPulleyDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('PointOnObject', 8, 3, 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 6, 7)) App.ActiveDocument.recompute() #Add dimensions to holes App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Radius', 6, gv.xEndMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Radius', 8, gv.xMotorPulleyDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Symmetric', 1, 1, 2, 2, 8, 3)) App.ActiveDocument.recompute() #Cut 2 more holes if there are 4 motor mount holes if gv.xEndNumMountHoles == 4: App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p4x, p4y, 0), App.Vector(0, 0, 1), gv.xEndMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 9, 3, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p6x, p6y, 0), App.Vector(0, 0, 1), gv.xEndMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Coincident', 10, 3, 3, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 10, 9)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint('Equal', 10, 7)) #exit Sketch # Gui.getDocument('xEndMotorPlate').resetEdit() App.getDocument('xEndMotorPlate').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() 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 #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): 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 = -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)) 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() 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() 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() #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() # 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() 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() App.ActiveDocument.Pocket.Length = 5.000000 App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #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() 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() 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() 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() 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)) 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() App.ActiveDocument.Pocket002.Length = 5.000000 App.ActiveDocument.Pocket002.Type = 1 App.ActiveDocument.Pocket002.UpToFace = None App.ActiveDocument.recompute()
def draw(self): # helper Variables width = gv.frameWidth - 2 * gv.feetOffset height = gv.feetBaseThickness + gv.mountToFrameHeadThickness + gv.feetBoltHeadClearanceVert counterSinkRadius = gv.printedToFrameHeadDia / 2 + gv.feetBoltHeadClearanceHor # Make file and build part 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 # Create Document App.newDocument(self.name) App.setActiveDocument(self.name) App.ActiveDocument = App.getDocument(self.name) Gui.ActiveDocument = Gui.getDocument(self.name) # make body of foot # Sketch points x1 = -width / 2 y1 = x1 x2 = x1 y2 = -x1 x3 = -x1 y3 = -x1 x4 = -x1 y4 = x1 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(x1, y1, 0), App.Vector(x2, y2, 0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x2, y2, 0), App.Vector(x3, y3, 0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x3, y3, 0), App.Vector(x4, y4, 0))) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x4, y4, 0), App.Vector(x1, y1, 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", 1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Horizontal", 3)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Vertical", 0)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Vertical", 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Symmetric", 1, 2, 0, 1, -1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("Equal", 3, 2)) App.ActiveDocument.recompute() # add dimmensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("DistanceX", 1, width)) App.ActiveDocument.recompute() # Gui.getDocument(self.name).resetEdit() App.getDocument(self.name).recompute() # Pad foot App.activeDocument().addObject("PartDesign::Pad", "Pad") App.activeDocument().Pad.Sketch = App.activeDocument().Sketch Gui.activeDocument().hide("Sketch") # Gui.activeDocument().setEdit('Pad',1) App.ActiveDocument.Pad.Length = height 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() # Add draft to the foot App.activeDocument().addObject("PartDesign::Draft", "Draft") Gui.activeDocument().hide("Pad") App.ActiveDocument.Draft.Angle = gv.feetDraftAngle App.ActiveDocument.Draft.Reversed = 0 # get faces that will be drafted side1 = uf.getFace(App.ActiveDocument.Pad, width / 2, 0, None, None, None, None) side2 = uf.getFace(App.ActiveDocument.Pad, -width / 2, 0, None, None, None, None) side3 = uf.getFace(App.ActiveDocument.Pad, None, None, width / 2, 0, None, None) side4 = uf.getFace(App.ActiveDocument.Pad, None, None, -width / 2, 0, None, None) App.ActiveDocument.Draft.Base = (App.ActiveDocument.Pad, [side1[1][0], side2[1][0], side3[1][0], side4[1][0]]) App.ActiveDocument.Draft.NeutralPlane = uf.getFace(App.ActiveDocument.Pad, None, None, None, None, 0, 0) App.ActiveDocument.Draft.PullDirection = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() # Make through hole for mounting bolt App.activeDocument().addObject("Sketcher::SketchObject", "Sketch001") App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Draft, None, None, None, None, height, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(0, 0, 0), App.Vector(0, 0, 1), gv.printedToFrameDia / 2) ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("Coincident", 0, 3, -1, 1)) App.ActiveDocument.recompute() # add dimmensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("Radius", 0, gv.printedToFrameDia / 2)) App.ActiveDocument.recompute() # Gui.getDocument('feet').resetEdit() App.getDocument("feet").recompute() App.activeDocument().addObject("PartDesign::Pocket", "Pocket") App.activeDocument().Pocket.Sketch = App.activeDocument().Sketch001 App.activeDocument().Pocket.Length = 10 App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch001") Gui.activeDocument().hide("Draft") # Gui.activeDocument().setEdit('Pocket') # Gui.ActiveDocument.Pocket.ShapeColor=Gui.ActiveDocument.Draft.ShapeColor # Gui.ActiveDocument.Pocket.LineColor=Gui.ActiveDocument.Draft.LineColor # Gui.ActiveDocument.Pocket.PointColor=Gui.ActiveDocument.Draft.PointColor App.ActiveDocument.Pocket.Type = 1 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() # Gui.activeDocument().resetEdit() # Add countersink hole for bolt head App.activeDocument().addObject("Sketcher::SketchObject", "Sketch002") App.activeDocument().Sketch002.Support = (App.ActiveDocument.Pocket, ["Face5"]) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch002') App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(0.0, 0.000000, 0), App.Vector(0, 0, 1), counterSinkRadius) ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Coincident", 0, 3, -1, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Radius", 0, counterSinkRadius)) App.ActiveDocument.recompute() # Gui.getDocument('feet').resetEdit() App.getDocument("feet").recompute() App.activeDocument().addObject("PartDesign::Pocket", "Pocket001") App.activeDocument().Pocket001.Sketch = App.activeDocument().Sketch002 App.activeDocument().Pocket001.Length = height - gv.feetBaseThickness App.ActiveDocument.recompute() Gui.activeDocument().hide("Sketch002") Gui.activeDocument().hide("Pocket") # Gui.activeDocument().setEdit('Pocket001') # 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.Type = 0 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute()
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): #determine the horizontal or verticle component of the shaftToMountHoleDist if gv.zMotorMountLocation == "Top": gv.zMotorMountMountingFaceWidth = gv.frameHeight gv.zMotorMountLength = gv.zMotorMountMountingFaceWidth+gv.zRodStandoff+gv.zMotorBodyWidth/2 gv.zMotorMountEdgeToShaftHole = gv.zMotorMountMountingFaceWidth + gv.zRodStandoff if gv.zMotorMountLocation == "Bottom": gv.zMotorMountMountingFaceWidth = gv.frameWidth gv.zMotorMountLength = gv.zMotorMountMountingFaceWidth/2+gv.zRodZScrewDist+gv.zMotorBodyWidth/2 gv.zMotorMountEdgeToShaftHole = gv.zMotorMountMountingFaceWidth/2 + gv.zRodZScrewDist #Check plate Width #Can't get exceptions to work inside of modules for some reason #Willo this in MakePrinter.py then # if plateWidth<gv.zMotorBodyWidth: # raise Exception("The zMotorMount plate is not wide enough") mountHoleSpacing = gv.zMotorMountPlateWidth/2 #Make file and build part try: Gui.getDocument('zMotorMount') Gui.getDocument('zMotorMount').resetEdit() App.getDocument('zMotorMount').recompute() App.closeDocument("zMotorMount") App.setActiveDocument("") App.ActiveDocument=None Gui.ActiveDocument=None except: pass #make document App.newDocument("zMotorMount") App.setActiveDocument("zMotorMount") App.ActiveDocument=App.getDocument("zMotorMount") Gui.ActiveDocument=Gui.getDocument("zMotorMount") #Make plate #sketch points p1x = -gv.zMotorMountPlateWidth/2 p1y = 0 p2x = -gv.zMotorMountPlateWidth/2 p2y = gv.zMotorMountLength p3x = gv.zMotorMountPlateWidth/2 p3y = gv.zMotorMountLength p4x = gv.zMotorMountPlateWidth/2 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)) 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.zMotorMountLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,gv.zMotorMountPlateWidth)) App.ActiveDocument.recompute() #Pad plate 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.zMotorMountPlateThickness 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 frame #Sketch Points p1x = -mountHoleSpacing/2 p1y = gv.zMotorMountMountingFaceWidth/2 p2x = mountHoleSpacing/2 p2y = gv.zMotorMountMountingFaceWidth/2 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Pad, None,None, None, None, gv.zMotorMountPlateThickness, 0) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') 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('Horizontal',0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Symmetric',0,2,0,1,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Coincident',1,3,0,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',2,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Equal',1,2)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',2,gv.mountToFrameDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',0,mountHoleSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Distance',-1,1,0,gv.zMotorMountMountingFaceWidth/2)) App.ActiveDocument.recompute() # Gui.getDocument('zMotorMount').resetEdit() App.getDocument('zMotorMount').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 motorMountHoles in plate #Sketch points p1x = -gv.zShaftToMountHoleDistX p1y = gv.zMotorMountEdgeToShaftHole-gv.zShaftToMountHoleDistX p2x = -gv.zShaftToMountHoleDistX p2y = gv.zMotorMountEdgeToShaftHole+gv.zShaftToMountHoleDistX p3x = gv.zShaftToMountHoleDistX p3y = gv.zMotorMountEdgeToShaftHole+gv.zShaftToMountHoleDistX p4x = gv.zShaftToMountHoleDistX p4y = gv.zMotorMountEdgeToShaftHole-gv.zShaftToMountHoleDistX p5x = 0 p5y = gv.zMotorMountEdgeToShaftHole #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.Pocket, None,None, None, None, gv.zMotorMountPlateThickness, 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('Equal',2,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(3) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p5x,p5y,0),App.Vector(0,0,1),gv.zMotorMountShaftHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',4,3,-2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p2x,p2y,0),App.Vector(0,0,1),gv.zMotorMountHoleDia/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.zMotorMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',6,3,1,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.zMotorMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',7,3,0,1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p4x,p4y,0),App.Vector(0,0,1),gv.zMotorMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Coincident',8,3,0,2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',5,6)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',6,8)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Equal',8,7)) App.ActiveDocument.recompute() if gv.zMotorMountHoles ==2: App.ActiveDocument.Sketch002.toggleConstruction(5) App.ActiveDocument.Sketch002.toggleConstruction(8) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceY',1,2*gv.zShaftToMountHoleDistX)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',6,gv.zMotorMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',4,gv.zMotorMountShaftHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Distance',-1,1,0,p1y)) App.ActiveDocument.recompute() #Add symetric constraint App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Symmetric',0,2,2,2,4,3)) App.ActiveDocument.recompute() # Gui.getDocument('zMotorMount').resetEdit() App.getDocument('zMotorMount').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() 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 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): #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): 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: 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 barrel body #Sketch points p1x = gv.extruderBarrelDia/2 p1y = 0 p2x = gv.extruderBarrelLinerDia/2 p2y = p1y p3x = p2x p3y = gv.extruderBarrelLength p4x = p1x p4y = p3y #Make Sketch # make fin outline finThickness = ((gv.extruderBarrelLength - 2*gv.extruderBarrelFaceThickness - (gv.extruderBarrelNumFins+1)*gv.extruderBarrelFinGap) / gv.extruderBarrelNumFins) y = gv.extruderBarrelLength - gv.extruderBarrelFaceThickness x1 = gv.extruderBarrelLinerDia/2 + gv.extruderBarrelCoreThickness x2 = gv.extruderBarrelDia/2 i = 0 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.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,1,-1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-1)) 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.Sketch.addConstraint(Sketcher.Constraint('Vertical',1)) 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.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p4x,p4y,0),App.Vector(x2,y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,3,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',3)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x2,y,0),App.Vector(x1,y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,4,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',4)) for i in range(0, gv.extruderBarrelNumFins+1): App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x1,y,0),App.Vector(x1,y-gv.extruderBarrelFinGap,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*i+4,2,4*i+5,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',4*i+5)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x1,y-gv.extruderBarrelFinGap,0),App.Vector(x2,y-gv.extruderBarrelFinGap,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*i+5,2,4*i+6,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',4*i+6)) if i<gv.extruderBarrelNumFins: App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x2,y-gv.extruderBarrelFinGap,0),App.Vector(x2,y-gv.extruderBarrelFinGap-finThickness,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*i+6,2,4*i+7,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',4*i+7)) App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(x2,y-gv.extruderBarrelFinGap-finThickness,0),App.Vector(x1,y-gv.extruderBarrelFinGap-finThickness,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*i+8,1,4*i+7,2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',4*i+8)) y = y-gv.extruderBarrelFinGap-finThickness #add equal constraints for i in range(0, gv.extruderBarrelNumFins-1): App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*i+7,4*i+11)) for i in range(0, gv.extruderBarrelNumFins): App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*i+5,4*i+9)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*i+4,4*i+6)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*i+6,4*i+8)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*gv.extruderBarrelNumFins+4,4*gv.extruderBarrelNumFins+6)) #close sketch with the last vertical line App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(p1x,p1y+gv.extruderBarrelFaceThickness,0),App.Vector(p1x,p1y,0))) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*gv.extruderBarrelNumFins+7,1,4*gv.extruderBarrelNumFins+6,2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',4*gv.extruderBarrelNumFins+7,2,0,1)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Vertical',4*gv.extruderBarrelNumFins+7)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Equal',4*gv.extruderBarrelNumFins+7,3)) #Add dimensions App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',-2,1,1,2,gv.extruderBarrelLinerDia/2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',-2,1,2,2,gv.extruderBarrelDia/2)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',3,-gv.extruderBarrelFaceThickness)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',5,-gv.extruderBarrelFinGap)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',1,gv.extruderBarrelLength)) App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Distance',4,2,1,gv.extruderBarrelCoreThickness)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #revolve profile to make barrel 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 mounting holes in top face #Sketch Points p1x = gv.hotEndMountHoleSpacing/2 p1y = 0 App.activeDocument().addObject('Sketcher::SketchObject','Sketch001') # App.activeDocument().Sketch001.Support = (App.ActiveDocument.Revolution,["Face3"]) App.activeDocument().Sketch001.Support = uf.getFace(App.ActiveDocument.Revolution, 0,0, 0,0, gv.extruderBarrelLength,0) App.activeDocument().recompute() App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.extruderBarrelMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() #Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',-1,1,0,3,gv.hotEndMountHoleSpacing/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,gv.extruderBarrelMountHoleDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() 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.extruderBarrelMountHoleDepth App.ActiveDocument.Pocket.Type = 0 App.ActiveDocument.Pocket.UpToFace = None App.ActiveDocument.recompute() #Copy hole to other side of face App.activeDocument().addObject("PartDesign::PolarPattern","PolarPattern") App.ActiveDocument.recompute() App.activeDocument().PolarPattern.Originals = [App.activeDocument().Pocket,] App.activeDocument().PolarPattern.Axis = (App.activeDocument().Sketch001, ["N_Axis"]) App.activeDocument().PolarPattern.Angle = 360 App.activeDocument().PolarPattern.Occurrences = 2 App.ActiveDocument.PolarPattern.Originals = [App.ActiveDocument.Pocket,] App.ActiveDocument.PolarPattern.Axis = (App.ActiveDocument.Sketch001,["N_Axis"]) App.ActiveDocument.PolarPattern.Reversed = 0 App.ActiveDocument.PolarPattern.Angle = 360.000000 App.ActiveDocument.PolarPattern.Occurrences = 2 App.ActiveDocument.recompute() #Make mounting holes on bottom face p1x = gv.hotEndMountHoleSpacing/2 p1y = 0 App.activeDocument().addObject('Sketcher::SketchObject','Sketch002') App.activeDocument().Sketch002.Support = uf.getFace(App.ActiveDocument.PolarPattern, 0,0, 0,0, 0,0) App.ActiveDocument.Sketch002.addGeometry(Part.Circle(App.Vector(p1x,p1y,0),App.Vector(0,0,1),gv.extruderBarrelMountHoleDia/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('PointOnObject',0,3,-1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('DistanceX',-1,1,0,3,gv.hotEndMountHoleSpacing/2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint('Radius',0,gv.extruderBarrelMountHoleDia/2)) App.ActiveDocument.recompute() App.getDocument(self.name).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 = gv.extruderBarrelMountHoleDepth App.ActiveDocument.Pocket001.Type = 0 App.ActiveDocument.Pocket001.UpToFace = None App.ActiveDocument.recompute() #Copy hole to other side of bottom face App.activeDocument().addObject("PartDesign::PolarPattern","PolarPattern001") App.ActiveDocument.recompute() App.activeDocument().PolarPattern001.Originals = [App.activeDocument().Pocket001,] App.activeDocument().PolarPattern001.Axis = (App.activeDocument().Sketch002, ["N_Axis"]) App.activeDocument().PolarPattern001.Angle = 360 App.activeDocument().PolarPattern001.Occurrences = 2 App.ActiveDocument.PolarPattern001.Originals = [App.ActiveDocument.Pocket001,] App.ActiveDocument.PolarPattern001.Axis = (App.ActiveDocument.Sketch002,["N_Axis"]) App.ActiveDocument.PolarPattern001.Reversed = 0 App.ActiveDocument.PolarPattern001.Angle = 360.000000 App.ActiveDocument.PolarPattern001.Occurrences = 2 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): plateLength = gv.frameWidth + gv.yMotorBodyWidth mountHoleSpacing = gv.yMotorMountPlateWidth / 2 # Make file and build part try: Gui.getDocument("yMotorMount") Gui.getDocument("yMotorMount").resetEdit() App.getDocument("yMotorMount").recompute() App.closeDocument("yMotorMount") App.setActiveDocument("") App.ActiveDocument = None Gui.ActiveDocument = None except: pass # make document App.newDocument("yMotorMount") App.setActiveDocument("yMotorMount") App.ActiveDocument = App.getDocument("yMotorMount") Gui.ActiveDocument = Gui.getDocument("yMotorMount") # Make plate # sketch points p1x = -gv.yMotorMountPlateWidth / 2 p1y = 0 p2x = -gv.yMotorMountPlateWidth / 2 p2y = plateLength p3x = gv.yMotorMountPlateWidth / 2 p3y = plateLength p4x = gv.yMotorMountPlateWidth / 2 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) ) 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, plateLength)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint("DistanceX", 0, gv.yMotorMountPlateWidth)) App.ActiveDocument.recompute() # Pad plate 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.yMotorMountPlateThickness 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 frame # Sketch Points p1x = -mountHoleSpacing / 2 p1y = gv.frameWidth / 2 p2x = mountHoleSpacing / 2 p2y = gv.frameWidth / 2 # Make Sketch App.activeDocument().addObject("Sketcher::SketchObject", "Sketch001") App.activeDocument().Sketch001.Support = uf.getFace( App.ActiveDocument.Pad, None, None, None, None, gv.yMotorMountPlateThickness, 0 ) App.activeDocument().recompute() # Gui.activeDocument().setEdit('Sketch001') 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("Horizontal", 0)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("Symmetric", 0, 2, 0, 1, -2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.toggleConstruction(0) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addGeometry( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), gv.mountToFrameDia / 2) ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("Coincident", 1, 3, 0, 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", 2, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("Equal", 1, 2)) App.ActiveDocument.recompute() # Add dimensions App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("Radius", 2, gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("DistanceX", 0, mountHoleSpacing)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint("Distance", -1, 1, 0, gv.frameWidth / 2)) App.ActiveDocument.recompute() # Gui.getDocument('yMotorMount').resetEdit() App.getDocument("yMotorMount").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 motorMountHoles in plate # Sketch points p1x = -gv.yMotorShaftToMountHoleDistX p1y = gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2 p2x = -gv.yMotorShaftToMountHoleDistX p2y = gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2 + 2 * gv.yMotorShaftToMountHoleDistX p3x = gv.yMotorShaftToMountHoleDistX p3y = gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2 + 2 * gv.yMotorShaftToMountHoleDistX p4x = gv.yMotorShaftToMountHoleDistX p4y = gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2 p5x = 0 p5y = gv.frameWidth + gv.yMotorBodyWidth / 2 # Make Sketch App.activeDocument().addObject("Sketcher::SketchObject", "Sketch002") App.activeDocument().Sketch002.Support = uf.getFace( App.ActiveDocument.Pocket, None, None, None, None, gv.yMotorMountPlateThickness, 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("Equal", 2, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.toggleConstruction(2) App.ActiveDocument.Sketch002.toggleConstruction(1) App.ActiveDocument.Sketch002.toggleConstruction(0) App.ActiveDocument.Sketch002.toggleConstruction(3) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p5x, p5y, 0), App.Vector(0, 0, 1), gv.yMotorMountShaftHoleDia / 2) ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("PointOnObject", 4, 3, -2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p2x, p2y, 0), App.Vector(0, 0, 1), gv.yMotorMountHoleDia / 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.yMotorMountHoleDia / 2) ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Coincident", 6, 3, 1, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p1x, p1y, 0), App.Vector(0, 0, 1), gv.yMotorMountHoleDia / 2) ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Coincident", 7, 3, 0, 1)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addGeometry( Part.Circle(App.Vector(p4x, p4y, 0), App.Vector(0, 0, 1), gv.yMotorMountHoleDia / 2) ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Coincident", 8, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Equal", 5, 6)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Equal", 6, 8)) App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Equal", 8, 7)) App.ActiveDocument.recompute() if gv.yMotorMountHoles == 2: App.ActiveDocument.Sketch002.toggleConstruction(5) App.ActiveDocument.Sketch002.toggleConstruction(8) App.ActiveDocument.recompute() # Add dimensions App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint("DistanceY", 1, 2 * gv.yMotorShaftToMountHoleDistX) ) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Radius", 6, gv.yMotorMountHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Radius", 4, gv.yMotorMountShaftHoleDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch002.addConstraint( Sketcher.Constraint( "Distance", -1, 1, 0, gv.frameWidth + gv.yMotorMountHolePadding + gv.yMotorMountHoleDia / 2 ) ) App.ActiveDocument.recompute() # Add symetric constraint App.ActiveDocument.Sketch002.addConstraint(Sketcher.Constraint("Symmetric", 0, 2, 2, 2, 4, 3)) App.ActiveDocument.recompute() # Gui.getDocument('yMotorMount').resetEdit() App.getDocument("yMotorMount").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() 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 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): 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): #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): 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 side bar uf.extrudeFrameMember(self.name, gv.sideBarLength) if gv.zMotorMountLocation == "Top": return #Add holes for zMotorMount #Sketch points p1x = 0 p1y = 0 p2x = 0 p2y = gv.sideBarLength / 2 + gv.extruderNozzleStandoff - gv.zMotorMountPlateWidth / 4 p3x = 0 p3y = gv.sideBarLength / 2 + gv.extruderNozzleStandoff - 3 * gv.zMotorMountPlateWidth / 4 #Make Sketch App.activeDocument().addObject('Sketcher::SketchObject', 'Sketch001') App.activeDocument().Sketch001.Support = uf.getFace( App.ActiveDocument.Pad, gv.sideBarLength / 2, 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.toggleConstruction(1) App.ActiveDocument.Sketch001.toggleConstruction(0) 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', 2, 3, 1, 2)) 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', 3, 3, 0, 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Equal', 2, 3)) App.ActiveDocument.recompute() #Add Dimensions App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('Radius', 2, gv.mountToFrameDia / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('DistanceY', 1, gv.zMotorMountPlateWidth / 2)) App.ActiveDocument.recompute() App.ActiveDocument.Sketch001.addConstraint( Sketcher.Constraint('DistanceY', 0, p3y)) App.ActiveDocument.recompute() App.getDocument(self.name).recompute() #Cut holes through Bar 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): #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): 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.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): 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()