def selectFun(self, event, referer, elementXML, elementParms, elementViewObject): x, y = elementParms["x"], elementParms["y"] d.dArgs = [x, y] d.stage = 1 debugPrint(2, "welding symbol to point at x=%3.1f y=%3.1f" % (x, y)) selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(d, self.preview_svgRenderer, self.preview_clickHandler)
def Activated(self): V = getDrawingPageGUIVars() d.activate( V, dialogTitle='Add Grab Point', dialogIconPath=':/dd/icons/grabPointAdd.svg', endFunction=self.Activated ) previewDimension.initializePreview( d, grabPoint_preview, grabPoint_clickHandler )
def accept( self ): crudeDebuggerPrint('''addText.py:38 debugPrint(3, 'AddTextDialogWidget accept pressed') ''') debugPrint(3, 'AddTextDialogWidget accept pressed') crudeDebuggerPrint('''addText.py:39 widgets = dict( [c.objectName(), c] for c in self.children() ) ''') widgets = dict( [c.objectName(), c] for c in self.children() ) crudeDebuggerPrint('''addText.py:40 debugPrint(4, 'widgets %s' % widgets) ''') debugPrint(4, 'widgets %s' % widgets) crudeDebuggerPrint('''addText.py:41 if widgets['textLineEdit'].text() == '': ''') if widgets['textLineEdit'].text() == '': crudeDebuggerPrint('''addText.py:42 debugPrint(1, 'Aborting placing empty text.') ''') debugPrint(1, 'Aborting placing empty text.') crudeDebuggerPrint('''addText.py:43 return ''') return crudeDebuggerPrint('''addText.py:44 debugPrint(2, 'Placing "%s"' % widgets['textLineEdit'].text() ) ''') debugPrint(2, 'Placing "%s"' % widgets['textLineEdit'].text() ) crudeDebuggerPrint('''addText.py:45 self.hide() ''') self.hide() crudeDebuggerPrint('''addText.py:46 dimensioning.text = widgets['textLineEdit'].text() ''') dimensioning.text = widgets['textLineEdit'].text() crudeDebuggerPrint('''addText.py:47 widgets['textLineEdit'].setText('') ''') widgets['textLineEdit'].setText('') crudeDebuggerPrint('''addText.py:48 dimensioning.fontSize = widgets['textSizeSpinBox'].value() ''') dimensioning.fontSize = widgets['textSizeSpinBox'].value() crudeDebuggerPrint('''addText.py:49 dimensioning.color = widgets['colorLineEdit'].text() ''') dimensioning.color = widgets['colorLineEdit'].text() crudeDebuggerPrint('''addText.py:50 debugPrint(4,'previewDimension.initializePreview') ''') debugPrint(4,'previewDimension.initializePreview') crudeDebuggerPrint('''addText.py:51 previewDimension.initializePreview( ''') previewDimension.initializePreview( dimensioning.drawingVars, clickEvent, hoverEvent )
def AddToleranceToText(event, referer, elementXML, elementParms, elementViewObject): viewInfo = selectionOverlay.DrawingsViews_info[elementViewObject.Name] d.selections = [TextSelection(elementParms, elementXML, viewInfo)] selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(d, toleranceAdd_preview, toleranceAdd_clickHandler)
def stack_selectDimensioningPoint(event, referer, elementXML, elementParms, elementViewObject): viewInfo = selectionOverlay.DrawingsViews_info[elementViewObject.Name] if len(d.selections) == 0: if isinstance(referer, selectionOverlay.PointSelectionGraphicsItem): d.selections.append( PointSelection(elementParms, elementXML, viewInfo)) d.selections[-1].condensed_args = True selectionOverlay.hideSelectionGraphicsItems(lambda gi: isinstance( gi, selectionOverlay.LineSelectionGraphicsItem)) else: d.selections.append( LineSelection(elementParms, elementXML, viewInfo)) linearDimension_parallels_hide_non_parallel( elementParms, elementViewObject) d.viewScale = 1 / elementXML.rootNode().scaling() else: if isinstance(referer, selectionOverlay.PointSelectionGraphicsItem): d.selections.append( PointSelection(elementParms, elementXML, viewInfo)) d.selections[-1].condensed_args = True else: d.selections.append( LineSelection(elementParms, elementXML, viewInfo)) if len(d.selections) == 2: previewDimension.initializePreview( d, linearDimension_stack_preview, linearDimension_stack_clickHandler)
def selectFun(event, referer, elementXML, elementParms, elementViewObject): crudeDebuggerPrint( '''circularDimension.py:9 x,y = elementParms['x'], elementParms['y'] ''' ) x, y = elementParms['x'], elementParms['y'] crudeDebuggerPrint( '''circularDimension.py:10 dimensioning.point1 = x, y ''') dimensioning.point1 = x, y crudeDebuggerPrint( '''circularDimension.py:11 debugPrint(2, 'center selected at x=%3.1f y=%3.1f' % (x,y)) ''' ) debugPrint(2, 'center selected at x=%3.1f y=%3.1f' % (x, y)) crudeDebuggerPrint( '''circularDimension.py:12 dimensioning.radius = elementParms['r'] ''' ) dimensioning.radius = elementParms['r'] crudeDebuggerPrint( '''circularDimension.py:13 dimensioning.dimScale = 1/elementXML.rootNode().scaling() ''' ) dimensioning.dimScale = 1 / elementXML.rootNode().scaling() crudeDebuggerPrint( '''circularDimension.py:14 dimensioning.stage = 1 ''') dimensioning.stage = 1 crudeDebuggerPrint( '''circularDimension.py:15 selectionOverlay.hideSelectionGraphicsItems() ''' ) selectionOverlay.hideSelectionGraphicsItems() crudeDebuggerPrint( '''circularDimension.py:16 previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview ) ''' ) previewDimension.initializePreview(dimensioning.drawingVars, clickFunPreview, hoverFunPreview)
def selectDimensioningPoint( event, referer, elementXML, elementParms, elementViewObject ): crudeDebuggerPrint('''linearDimension.py:9 x, y = elementParms['x'], elementParms['y'] ''') x, y = elementParms['x'], elementParms['y'] crudeDebuggerPrint('''linearDimension.py:10 referer.lockSelection() ''') referer.lockSelection() crudeDebuggerPrint('''linearDimension.py:11 if dimensioning.stage == 0: #then selectPoint1 ''') if dimensioning.stage == 0: #then selectPoint1 crudeDebuggerPrint('''linearDimension.py:12 dimensioning.point1 = x,y ''') dimensioning.point1 = x,y crudeDebuggerPrint('''linearDimension.py:13 debugPrint(2, 'point1 set to x=%3.1f y=%3.1f' % (x,y)) ''') debugPrint(2, 'point1 set to x=%3.1f y=%3.1f' % (x,y)) crudeDebuggerPrint('''linearDimension.py:14 dimensioning.stage = 1 ''') dimensioning.stage = 1 else: crudeDebuggerPrint('''linearDimension.py:16 dimensioning.point2 = x,y ''') dimensioning.point2 = x,y crudeDebuggerPrint('''linearDimension.py:17 debugPrint(2, 'point2 set to x=%3.1f y=%3.1f' % (x,y)) ''') debugPrint(2, 'point2 set to x=%3.1f y=%3.1f' % (x,y)) crudeDebuggerPrint('''linearDimension.py:18 dimensioning.stage = 2 ''') dimensioning.stage = 2 crudeDebuggerPrint('''linearDimension.py:19 dimensioning.dimScale = 1/elementXML.rootNode().scaling() ''') dimensioning.dimScale = 1/elementXML.rootNode().scaling() crudeDebuggerPrint('''linearDimension.py:20 selectionOverlay.hideSelectionGraphicsItems() ''') selectionOverlay.hideSelectionGraphicsItems() crudeDebuggerPrint('''linearDimension.py:21 previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview ) ''') previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview )
def selectFun(self, event, referer, elementXML, elementParms, elementViewObject): viewInfo = selectionOverlay.DrawingsViews_info[elementViewObject.Name] d.selections = [PointSelection(elementParms, elementXML, viewInfo)] selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(d, self.preview_svgRenderer, self.preview_clickHandler)
def selectFun(event, referer, elementXML, elementParms, elementViewObject): referer.lockSelection() viewInfo = selectionOverlay.DrawingsViews_info[elementViewObject.Name] if isinstance(referer, selectionOverlay.LineSelectionGraphicsItem): d.selections.append(LineSelection(elementParms, elementXML, viewInfo)) if len(d.selections) == 1: for gi in selectionOverlay.graphicItems: if isinstance(gi, selectionOverlay.PointSelectionGraphicsItem): gi.hide() else: d.max_selections = 4 selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( d, angularDimension_points_preview, angularDimension_points_clickHandler) else: #user selecting 3 points if len(d.selections) == 0: d.selections = [ThreePointAngleSelection()] d.max_selections = 3 for gi in selectionOverlay.graphicItems: if isinstance(gi, selectionOverlay.LineSelectionGraphicsItem): gi.hide() d.selections[0].addPoint(elementParms, elementXML, viewInfo) if len(d.selections[0].points) == 3: selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( d, angularDimension_points_preview, angularDimension_points_clickHandler)
def Activated(self): V = getDrawingPageGUIVars() d.activate(V, dialogTitle='Add Text', dialogIconPath=os.path.join(iconPath, 'textAdd.svg'), endFunction=self.Activated) previewDimension.initializePreview(d, addText_preview, addText_clickHandler)
def selectFun( event, referer, elementXML, elementParms, elementViewObject ): x,y = elementParms['x'], elementParms['y'] dimensioning.point1 = x, y debugPrint(2, 'note start point selected at x=%3.1f y=%3.1f' % (x,y)) dimensioning.dimScale = 1/elementXML.rootNode().scaling() / UnitConversionFactor() dimensioning.stage = 1 selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview )
def Activated(self): V = getDrawingPageGUIVars() dimensioning.activate(V, ['strokeWidth'], ['lineColor']) previewDimension.initializePreview( dimensioning.drawingVars, line_ClickEvent, line_hoverEvent, )
def Activated(self): V = getDrawingPageGUIVars() d.activate( V, dialogTitle='Add Grab Point', dialogIconPath=os.path.join( iconPath , 'grabPointAdd.svg' ), endFunction=self.Activated ) d.preview = True previewDimension.initializePreview( d, grabPoint_preview, grabPoint_clickHandler )
def Activated(self): V = getDrawingPageGUIVars() d.activate(V, dialogTitle='Add Grab Point', dialogIconPath=':/dd/icons/grabPointAdd.svg', endFunction=self.Activated) previewDimension.initializePreview(d, grabPoint_preview, grabPoint_clickHandler)
def selectFun(self, event, referer, elementXML, elementParms, elementViewObject ): viewInfo = selectionOverlay.DrawingsViews_info[elementViewObject.Name] d.selections = [ PointSelection( elementParms, elementXML, viewInfo) ] selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( d, self.preview_svgRenderer, self.preview_clickHandler )
def selectFun( event, referer, elementXML, elementParms, elementViewObject ): x,y = elementParms['x'], elementParms['y'] dimensioning.center = [x, y] dimensioning.stage = 1 dimensioning.dimScale = elementXML.rootNode().scaling() debugPrint(3, 'center selected at x=%3.1f y=%3.1f scale %3.1f' % (x,y, dimensioning.dimScale)) selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview )
def Activated(self): V = getDrawingPageGUIVars() dimensioning.activate( V, ['strokeWidth'],['lineColor'] ) previewDimension.initializePreview( dimensioning.drawingVars, line_ClickEvent, line_hoverEvent, )
def selectFun( event, referer, elementXML, elementParms, elementViewObject ): x,y = elementParms['x'], elementParms['y'] debugPrint(2, 'center selected at x=%3.1f y=%3.1f' % (x,y)) d.args = [x, y, elementParms['r']] d.viewScale = 1/elementXML.rootNode().scaling() d.stage = 1 selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( d, radiusDimensionSVG_preview, radiusDimensionSVG_clickHandler)
def Activated(self): V = getDrawingPageGUIVars() d.activate(V, dialogTitle='Add Table', dialogIconPath=':/dd/icons/table_dd.svg', endFunction=self.Activated) previewDimension.initializePreview(d, table_preview, table_clickHandler)
def selectFun(event, referer, elementXML, elementParms, elementViewObject): x, y = elementParms['x'], elementParms['y'] debugPrint(2, 'center selected at x=%3.1f y=%3.1f' % (x, y)) d.args = [x, y, elementParms['r']] d.viewScale = 1 / elementXML.rootNode().scaling() d.stage = 1 selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(d, circularDimensionSVG_preview, circularDimensionSVG_clickHandler)
def selectFun(self, event, referer, elementXML, elementParms, elementViewObject): x, y = elementParms['x'], elementParms['y'] d.dArgs = [x, y] d.stage = 1 debugPrint(2, 'welding symbol to point at x=%3.1f y=%3.1f' % (x, y)) selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(d, self.preview_svgRenderer, self.preview_clickHandler)
def Activated(self): V = getDrawingPageGUIVars() dimensioning.activate( V, ['strokeWidth','arrowL1','arrowL2','arrowW'],['lineColor'] ) dimensioning.dArgs = [] previewDimension.initializePreview( dimensioning.drawingVars, ArrowWithTail_ClickEvent, ArrowWithTail_hoverEvent, )
def Activated(self): V = getDrawingPageGUIVars() #needs to be done before dialog show, else active window is dialog and not freecad dimensioning.activate( V, textParms=['textRenderer'] ) # don't know if useful... debugPrint(3,'textRenderer created') debugPrint(3,'previewDimension.initializePreview') previewDimension.initializePreview( dimensioning.drawingVars, clickEvent, hoverEvent )
def selectFun(self, event, referer, elementXML, elementParms, elementViewObject): x, y = elementParms['x'], elementParms['y'] dimensioning.dArgs = [x, y] dimensioning.stage = 1 debugPrint(2, 'welding symbol to point at x=%3.1f y=%3.1f' % (x, y)) selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(dimensioning.drawingVars, self.clickFunPreview, self.hoverFunPreview)
def Activated(self): V = getDrawingPageGUIVars( ) #needs to be done before dialog show, else active window is dialog and not freecad dimensioning.activate(V, textParms=['textRenderer' ]) # don't know if useful... debugPrint(3, 'textRenderer created') debugPrint(3, 'previewDimension.initializePreview') previewDimension.initializePreview(dimensioning.drawingVars, clickEvent, hoverEvent)
def selectFun(self, event, referer, elementXML, elementParms, elementViewObject ): x,y = elementParms['x'], elementParms['y'] dimensioning.dArgs = [x,y] dimensioning.stage = 1 debugPrint(2, 'welding symbol to point at x=%3.1f y=%3.1f' % (x,y)) selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( dimensioning.drawingVars, self.clickFunPreview, self.hoverFunPreview )
def selectFun(event, referer, elementXML, elementParms, elementViewObject): x, y = elementParms['x'], elementParms['y'] dimensioning.center = [x, y] dimensioning.stage = 1 dimensioning.dimScale = elementXML.rootNode().scaling() debugPrint( 3, 'center selected at x=%3.1f y=%3.1f scale %3.1f' % (x, y, dimensioning.dimScale)) selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(dimensioning.drawingVars, clickFunPreview, hoverFunPreview)
def Activated(self): selection = FreeCADGui.Selection.getSelectionEx() if len(selection) == 1 and all( isinstance(s, Part.Face) for s in selection[0].SubObjects ) : V = getDrawingPageGUIVars() #needs to be done before dialog show, else Qt active is dialog and not freecads d.activate(V) #to do, implement defaults preferences, ['centerLine_width','centerLine_len_gap','centerLine_len_dash','centerLine_len_dot'], ['centerLine_color']) d.projection = unfold( selection[0].SubObjects ) d.taskPanelDialog = UnfoldTaskPanel() FreeCADGui.Control.showDialog( d.taskPanelDialog ) previewDimension.initializePreview( d, projectionSvg, clickHandler ) else: QtGui.QMessageBox.information( QtGui.qApp.activeWindow(), "Info", 'Please select touching faces from the same shape')
def Activated(self): V = getDrawingPageGUIVars() #needs to be done before dialog show, else Qt active is dialog and not freecads dimensioning.activate( V ) P = PartsList() for obj in App.ActiveDocument.Objects: if 'importPart' in obj.Content: debugPrint(3, 'adding %s to parts list' % obj.Name) P.addObject(obj) dimensioning.partsList = P P.svg(0,0) #calling here as once inside previewRect, error trapping difficult... previewDimension.initializePreview( V, clickEvent, hoverEvent )
def selectFun(event, referer, elementXML, elementParms, elementViewObject): x, y = elementParms['x'], elementParms['y'] dimensioning.point1 = x, y debugPrint(2, 'center selected at x=%3.1f y=%3.1f' % (x, y)) dimensioning.radius = elementParms['r'] dimensioning._dimScale = 1 / elementXML.rootNode().scaling() dimensioning.stage = 1 selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(dimensioning.drawingVars, clickFunPreview, hoverFunPreview, launchControlDialog=True)
def accept(self): crudeDebuggerPrint( '''addText.py:38 debugPrint(3, 'AddTextDialogWidget accept pressed') ''' ) debugPrint(3, 'AddTextDialogWidget accept pressed') crudeDebuggerPrint( '''addText.py:39 widgets = dict( [c.objectName(), c] for c in self.children() ) ''' ) widgets = dict([c.objectName(), c] for c in self.children()) crudeDebuggerPrint( '''addText.py:40 debugPrint(4, 'widgets %s' % widgets) ''' ) debugPrint(4, 'widgets %s' % widgets) crudeDebuggerPrint( '''addText.py:41 if widgets['textLineEdit'].text() == '': ''' ) if widgets['textLineEdit'].text() == '': crudeDebuggerPrint( '''addText.py:42 debugPrint(1, 'Aborting placing empty text.') ''' ) debugPrint(1, 'Aborting placing empty text.') crudeDebuggerPrint('''addText.py:43 return ''') return crudeDebuggerPrint( '''addText.py:44 debugPrint(2, 'Placing "%s"' % widgets['textLineEdit'].text() ) ''' ) debugPrint(2, 'Placing "%s"' % widgets['textLineEdit'].text()) crudeDebuggerPrint('''addText.py:45 self.hide() ''') self.hide() crudeDebuggerPrint( '''addText.py:46 dimensioning.text = widgets['textLineEdit'].text() ''' ) dimensioning.text = widgets['textLineEdit'].text() crudeDebuggerPrint( '''addText.py:47 widgets['textLineEdit'].setText('') ''') widgets['textLineEdit'].setText('') crudeDebuggerPrint( '''addText.py:48 dimensioning.fontSize = widgets['textSizeSpinBox'].value() ''' ) dimensioning.fontSize = widgets['textSizeSpinBox'].value() crudeDebuggerPrint( '''addText.py:49 dimensioning.color = widgets['colorLineEdit'].text() ''' ) dimensioning.color = widgets['colorLineEdit'].text() crudeDebuggerPrint( '''addText.py:50 debugPrint(4,'previewDimension.initializePreview') ''' ) debugPrint(4, 'previewDimension.initializePreview') crudeDebuggerPrint( '''addText.py:51 previewDimension.initializePreview( ''') previewDimension.initializePreview(dimensioning.drawingVars, clickEvent, hoverEvent)
def selectFun( event, referer, elementXML, elementParms, elementViewObject ): x1,y1,x2,y2 = [ elementParms[k] for k in [ 'x1', 'y1', 'x2', 'y2' ] ] debugPrint(2, str(dimensioning) ) debugPrint(2, 'selecting line %i with x1=%3.1f y1=%3.1f, x2=%3.1f y2=%3.1f' % (dimensioning.stage, x1,y1,x2,y2) ) referer.lockSelection() if dimensioning.stage == 0: #then select line1 dimensioning.line1 = x1,y1,x2,y2 dimensioning.stage = 1 else: dimensioning.line2 = x1,y1,x2,y2 dimensioning.stage = 2 selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview )
def MoveDimensionText( event, referer, elementXML, elementParms, elementViewObject ): d.dimToEdit = elementViewObject d.elementXML = elementXML debugPrint(2, 'moving %s' % elementViewObject.Name) if elementXML.parms.has_key('transform'): transform = elementXML.parms['transform'] t = transform[ XMLlib.findOffset(transform,'rotate(',0): ] d.textRotation = XMLlib.splitMultiSep(t, ', ')[0] debugPrint(3, 'd.textRotation %s' % d.textRotation) else: d.textRotation = None selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( d, moveTextSvg, placeText )
def Activated(self): if not drawing_dimensioning_installed: QtGui.QMessageBox.critical( QtGui.qApp.activeWindow(), 'drawing dimensioning wb required', 'the parts list feature requires the drawing dimensioning wb (https://github.com/hamish2014/FreeCAD_drawing_dimensioning/network)' ) return V = getDrawingPageGUIVars() #needs to be done before dialog show, else Qt active is dialog and not freecads dimensioning.activate( V ) P = PartsList() for obj in FreeCAD.ActiveDocument.Objects: if 'importPart' in obj.Content: debugPrint(3, 'adding %s to parts list' % obj.Name) P.addObject(obj) dimensioning.partsList = P previewDimension.initializePreview( V, clickEvent, hoverEvent )
def selectDimensioningPoint( event, referer, elementXML, elementParms, elementViewObject ): x, y = elementParms['x'], elementParms['y'] referer.lockSelection() if dimensioning.stage == 0: #then selectPoint1 dimensioning.point1 = x,y debugPrint(2, 'point1 set to x=%3.1f y=%3.1f' % (x,y)) dimensioning.stage = 1 else: dimensioning.point2 = x,y debugPrint(2, 'point2 set to x=%3.1f y=%3.1f' % (x,y)) dimensioning.stage = 2 dimensioning.dimScale = 1/elementXML.rootNode().scaling() selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview )
def Activated(self): if not drawing_dimensioning_installed: QtGui.QMessageBox.critical( QtGui.qApp.activeWindow(), 'drawing dimensioning wb required', 'the parts list feature requires the drawing dimensioning wb (https://github.com/hamish2014/FreeCAD_drawing_dimensioning/network)' ) return V = getDrawingPageGUIVars() #needs to be done before dialog show, else Qt active is dialog and not freecads dimensioning.activate( V ) P = PartsList() for obj in FreeCAD.ActiveDocument.Objects: if 'importPart' in obj.Content: debugPrint(3, 'adding %s to parts list' % obj.Name) P.addObject(obj) dimensioning.partsList = P P.svg(0,0) #calling here as once inside previewRect, error trapping difficult... previewDimension.initializePreview( V, clickEvent, hoverEvent )
def Activated(self): if not drawing_dimensioning_installed: QtGui.QMessageBox.critical( QtGui.qApp.activeWindow(), 'drawing dimensioning wb required', 'the parts list feature requires the drawing dimensioning wb (https://github.com/hamish2014/FreeCAD_drawing_dimensioning)' ) return V = getDrawingPageGUIVars() #needs to be done before dialog show, else Qt active is dialog and not freecads dimensioningTracker.activate( V ) P = PartsList() for obj in FreeCAD.ActiveDocument.Objects: if 'importPart' in obj.Content: debugPrint(3, 'adding %s to parts list' % obj.Name) P.addObject(obj) dimensioningTracker.partsList = P dimensioningTracker.taskPanelDialog = PartsListTaskDialog() FreeCADGui.Control.showDialog( dimensioningTracker.taskPanelDialog ) previewDimension.initializePreview( dimensioningTracker, partsListSvg, clickHandler )
def accept(self): try: widgets = dict([c.objectName(), c] for c in self.children()) self.hide() dimensioning.upper = widgets['upperLineEdit'].text() dimensioning.lower = widgets['lowerLineEdit'].text() svgText = dimensioning.svgText fontSize = widgets['scaleDoubleSpinBox'].value() * svgText.height() dimensioning.textRenderer = SvgTextRenderer( font_family=svgText.font_family, fill=svgText.fill, font_size=fontSize) previewDimension.initializePreview(dimensioning.drawingVars, clickEvent, hoverEvent) except: errorMessagebox_with_traceback()
def selectDimensioningPoint(event, referer, elementXML, elementParms, elementViewObject): crudeDebuggerPrint( '''linearDimension.py:9 x, y = elementParms['x'], elementParms['y'] ''' ) x, y = elementParms['x'], elementParms['y'] crudeDebuggerPrint( '''linearDimension.py:10 referer.lockSelection() ''') referer.lockSelection() crudeDebuggerPrint( '''linearDimension.py:11 if dimensioning.stage == 0: #then selectPoint1 ''' ) if dimensioning.stage == 0: #then selectPoint1 crudeDebuggerPrint( '''linearDimension.py:12 dimensioning.point1 = x,y ''') dimensioning.point1 = x, y crudeDebuggerPrint( '''linearDimension.py:13 debugPrint(2, 'point1 set to x=%3.1f y=%3.1f' % (x,y)) ''' ) debugPrint(2, 'point1 set to x=%3.1f y=%3.1f' % (x, y)) crudeDebuggerPrint( '''linearDimension.py:14 dimensioning.stage = 1 ''') dimensioning.stage = 1 else: crudeDebuggerPrint( '''linearDimension.py:16 dimensioning.point2 = x,y ''') dimensioning.point2 = x, y crudeDebuggerPrint( '''linearDimension.py:17 debugPrint(2, 'point2 set to x=%3.1f y=%3.1f' % (x,y)) ''' ) debugPrint(2, 'point2 set to x=%3.1f y=%3.1f' % (x, y)) crudeDebuggerPrint( '''linearDimension.py:18 dimensioning.stage = 2 ''') dimensioning.stage = 2 crudeDebuggerPrint( '''linearDimension.py:19 dimensioning.dimScale = 1/elementXML.rootNode().scaling() ''' ) dimensioning.dimScale = 1 / elementXML.rootNode().scaling() crudeDebuggerPrint( '''linearDimension.py:20 selectionOverlay.hideSelectionGraphicsItems() ''' ) selectionOverlay.hideSelectionGraphicsItems() crudeDebuggerPrint( '''linearDimension.py:21 previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview ) ''' ) previewDimension.initializePreview(dimensioning.drawingVars, clickFunPreview, hoverFunPreview)
def Activated(self): if not drawing_dimensioning_installed: QtGui.QMessageBox.critical( QtGui.qApp.activeWindow(), 'drawing dimensioning wb required', 'the parts list feature requires the drawing dimensioning wb (https://github.com/hamish2014/FreeCAD_drawing_dimensioning)' ) return V = getDrawingPageGUIVars() #needs to be done before dialog show, else Qt active is dialog and not freecads dimensioningTracker.activate( V ) dimensioningTracker.dialogIconPath = ':/assembly2/icons/partsList.svg' P = PartsList() for obj in FreeCAD.ActiveDocument.Objects: if 'importPart' in obj.Content: debugPrint(3, 'adding %s to parts list' % obj.Name) P.addObject(obj) dimensioningTracker.partsList = P dimensioningTracker.taskPanelDialog = PartsListTaskDialog() FreeCADGui.Control.showDialog( dimensioningTracker.taskPanelDialog ) previewDimension.initializePreview( dimensioningTracker, partsListSvg, clickHandler )
def Activated(self): if not drawing_dimensioning_installed: QtGui.QMessageBox.critical( QtGui.qApp.activeWindow(), 'drawing dimensioning wb required', 'the parts list feature requires the drawing dimensioning wb (https://github.com/hamish2014/FreeCAD_drawing_dimensioning). Release from 12 April 2016 or later required.' ) return V = getDrawingPageGUIVars() #needs to be done before dialog show, else Qt active is dialog and not freecads d.activate( V, dialogIconPath= ':/assembly2/icons/partsList.svg') P = PartsList() for obj in FreeCAD.ActiveDocument.Objects: if 'importPart' in obj.Content: debugPrint(3, 'adding %s to parts list' % obj.Name) P.addObject( PartListEntry(obj) ) d.partsList = P for pref in d.preferences: pref.dimensioningProcess = d #required to be compadible with drawing dimensioning d.taskDialog = PartsListTaskDialog() FreeCADGui.Control.showDialog( d.taskDialog ) previewDimension.initializePreview( d, table_dd.table_preview, parts_list_clickHandler )
def selectFun( event, referer, elementXML, elementParms, elementViewObject ): crudeDebuggerPrint('''circularDimension.py:9 x,y = elementParms['x'], elementParms['y'] ''') x,y = elementParms['x'], elementParms['y'] crudeDebuggerPrint('''circularDimension.py:10 dimensioning.point1 = x, y ''') dimensioning.point1 = x, y crudeDebuggerPrint('''circularDimension.py:11 debugPrint(2, 'center selected at x=%3.1f y=%3.1f' % (x,y)) ''') debugPrint(2, 'center selected at x=%3.1f y=%3.1f' % (x,y)) crudeDebuggerPrint('''circularDimension.py:12 dimensioning.radius = elementParms['r'] ''') dimensioning.radius = elementParms['r'] crudeDebuggerPrint('''circularDimension.py:13 dimensioning.dimScale = 1/elementXML.rootNode().scaling() ''') dimensioning.dimScale = 1/elementXML.rootNode().scaling() crudeDebuggerPrint('''circularDimension.py:14 dimensioning.stage = 1 ''') dimensioning.stage = 1 crudeDebuggerPrint('''circularDimension.py:15 selectionOverlay.hideSelectionGraphicsItems() ''') selectionOverlay.hideSelectionGraphicsItems() crudeDebuggerPrint('''circularDimension.py:16 previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview ) ''') previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview )
def AddToleranceToText( event, referer, elementXML, elementParms, elementViewObject ): try : d.dimToEdit = elementViewObject d.elementXML = elementXML selectionOverlay.hideSelectionGraphicsItems() svgText = SvgTextParser( elementXML.XML[elementXML.pStart:elementXML.pEnd] ) d.svgText = svgText debugPrint(3,'svgText.width() %s' % svgText.width()) debugPrint(3,'adding tolerance %s' % repr(elementViewObject.Name)) d.textRenderer = SvgTextRenderer( font_family = svgText.font_family, fill = svgText.fill, font_size = svgText.font_size ) previewDimension.initializePreview(d, toleranceAdd_preview, toleranceAdd_clickHandler) except: errorMessagebox_with_traceback()
def selectFun(event, referer, elementXML, elementParms, elementViewObject): referer.lockSelection() if isinstance(referer, selectionOverlay.LineSelectionGraphicsItem): x1, y1, x2, y2 = [elementParms[k] for k in ['x1', 'y1', 'x2', 'y2']] debugPrint( 2, 'selecting line %i with x1=%3.1f y1=%3.1f, x2=%3.1f y2=%3.1f' % (dimensioning.stage, x1, y1, x2, y2)) if dimensioning.stage == 0: #then select line1 dimensioning.line1 = x1, y1, x2, y2 dimensioning.stage = 1 for gi in selectionOverlay.graphicItems: if isinstance(gi, selectionOverlay.PointSelectionGraphicsItem): gi.hide() else: dimensioning.line2 = x1, y1, x2, y2 dimensioning.stage = 2 selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(dimensioning.drawingVars, clickFunPreview, hoverFunPreview) else: #user selecting 3 points x, y = elementParms['x'], elementParms['y'] debugPrint( 2, 'point %i selected at x=%3.1f y=%3.1f' % (dimensioning.stage + 1, x, y)) if dimensioning.stage == 0: dimensioning.pointStart = x, y dimensioning.stage = 1 for gi in selectionOverlay.graphicItems: if isinstance(gi, selectionOverlay.LineSelectionGraphicsItem): gi.hide() elif dimensioning.stage == 1: dimensioning.pointCenter = x, y dimensioning.stage = 2 else: x_c, y_c = dimensioning.pointCenter x1, y1 = dimensioning.pointStart x2, y2 = x, y dimensioning.line1 = x_c, y_c, x1, y1 dimensioning.line2 = x_c, y_c, x2, y2 dimensioning.stage = 2 #hack to allow intergation with dim from 2 line code selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview(dimensioning.drawingVars, clickFunPreview, hoverFunPreview)
def accept( self ): debugPrint(3, 'AddTextDialogWidget accept pressed') widgets = dict( [c.objectName(), c] for c in self.children() ) debugPrint(4, 'widgets %s' % widgets) if widgets['textLineEdit'].text() == '': debugPrint(1, 'Aborting placing empty text.') return debugPrint(2, 'Placing "%s"' % widgets['textLineEdit'].text() ) self.hide() dimensioning.text = widgets['textLineEdit'].text() widgets['textLineEdit'].setText('') dimensioning.fontSize = widgets['textSizeSpinBox'].value() dimensioning.color = widgets['colorLineEdit'].text() debugPrint(4,'previewDimension.initializePreview') previewDimension.initializePreview( dimensioning.drawingVars, clickEvent, hoverEvent )
def AddToleranceToText(event, referer, elementXML, elementParms, elementViewObject): try: d.dimToEdit = elementViewObject d.elementXML = elementXML selectionOverlay.hideSelectionGraphicsItems() svgText = SvgTextParser( elementXML.XML[elementXML.pStart:elementXML.pEnd]) d.svgText = svgText debugPrint(3, 'svgText.width() %s' % svgText.width()) debugPrint(3, 'adding tolerance %s' % repr(elementViewObject.Name)) d.textRenderer = SvgTextRenderer(font_family=svgText.font_family, fill=svgText.fill, font_size=svgText.font_size) previewDimension.initializePreview(d, toleranceAdd_preview, toleranceAdd_clickHandler) except: errorMessagebox_with_traceback()
def accept(self): debugPrint(2, 'AddTextDialogWidget accept pressed') widgets = dict([c.objectName(), c] for c in self.children()) debugPrint(2, 'widgets %s' % widgets) if widgets['textLineEdit'].text() == '': debugPrint(1, 'Aborting placing empty text.') return debugPrint(2, 'Placing "%s"' % widgets['textLineEdit'].text()) self.hide() dimensioning.text = widgets['textLineEdit'].text() widgets['textLineEdit'].setText('') family = widgets['familyLineEdit'].text() size = widgets['sizeLineEdit'].text() fill = widgets['colorLineEdit'].text() dimensioning.textRenderer = SvgTextRenderer(family, size, fill) debugPrint(3, 'textRenderer created') debugPrint(3, 'previewDimension.initializePreview') previewDimension.initializePreview(dimensioning.drawingVars, clickEvent, hoverEvent)
def accept( self ): try : widgets = dict( [c.objectName(), c] for c in self.children() ) self.hide() dimensioning.upper = widgets['upperLineEdit'].text() dimensioning.lower = widgets['lowerLineEdit'].text() svgText = dimensioning.svgText fontSize = widgets['scaleDoubleSpinBox'].value() * svgText.height() dimensioning.textRenderer = SvgTextRenderer( font_family = svgText.font_family, fill = svgText.fill, font_size = fontSize ) previewDimension.initializePreview( dimensioning.drawingVars, clickEvent, hoverEvent ) except: errorMessagebox_with_traceback()
def selectFun(event, referer, elementXML, elementParms, elementViewObject): crudeDebuggerPrint( '''angularDimension.py:9 x1,y1,x2,y2 = [ elementParms[k] for k in [ 'x1', 'y1', 'x2', 'y2' ] ] ''' ) x1, y1, x2, y2 = [elementParms[k] for k in ['x1', 'y1', 'x2', 'y2']] crudeDebuggerPrint( '''angularDimension.py:10 debugPrint(2, 'selecting line %i with x1=%3.1f y1=%3.1f, x2=%3.1f y2=%3.1f' % (dimensioning.stage, x1,y1,x2,y2) ) ''' ) debugPrint( 2, 'selecting line %i with x1=%3.1f y1=%3.1f, x2=%3.1f y2=%3.1f' % (dimensioning.stage, x1, y1, x2, y2)) crudeDebuggerPrint( '''angularDimension.py:11 referer.lockSelection() ''') referer.lockSelection() crudeDebuggerPrint( '''angularDimension.py:12 if dimensioning.stage == 0: #then select line1 ''' ) if dimensioning.stage == 0: #then select line1 crudeDebuggerPrint( '''angularDimension.py:13 dimensioning.line1 = x1,y1,x2,y2 ''' ) dimensioning.line1 = x1, y1, x2, y2 crudeDebuggerPrint( '''angularDimension.py:14 dimensioning.stage = 1 ''') dimensioning.stage = 1 else: crudeDebuggerPrint( '''angularDimension.py:16 dimensioning.line2 = x1,y1,x2,y2 ''' ) dimensioning.line2 = x1, y1, x2, y2 crudeDebuggerPrint( '''angularDimension.py:17 dimensioning.stage = 2 ''') dimensioning.stage = 2 crudeDebuggerPrint( '''angularDimension.py:18 selectionOverlay.hideSelectionGraphicsItems() ''' ) selectionOverlay.hideSelectionGraphicsItems() crudeDebuggerPrint( '''angularDimension.py:19 previewDimension.initializePreview( dimensioning.drawingVars, clickFunPreview, hoverFunPreview ) ''' ) previewDimension.initializePreview(dimensioning.drawingVars, clickFunPreview, hoverFunPreview)
def Activated(self): crudeDebuggerPrint('''partsList.py:86 V = getDrawingPageGUIVars() #needs to be done before dialog show, else Qt active is dialog and not freecads ''') V = getDrawingPageGUIVars() #needs to be done before dialog show, else Qt active is dialog and not freecads crudeDebuggerPrint('''partsList.py:87 dimensioning.activate( V ) ''') dimensioning.activate( V ) crudeDebuggerPrint('''partsList.py:88 P = PartsList() ''') P = PartsList() crudeDebuggerPrint('''partsList.py:89 for obj in App.ActiveDocument.Objects: ''') for obj in App.ActiveDocument.Objects: crudeDebuggerPrint('''partsList.py:90 if 'importPart' in obj.Content: ''') if 'importPart' in obj.Content: crudeDebuggerPrint('''partsList.py:91 debugPrint(3, 'adding %s to parts list' % obj.Name) ''') debugPrint(3, 'adding %s to parts list' % obj.Name) crudeDebuggerPrint('''partsList.py:92 P.addObject(obj) ''') P.addObject(obj) crudeDebuggerPrint('''partsList.py:93 dimensioning.partsList = P ''') dimensioning.partsList = P crudeDebuggerPrint('''partsList.py:94 P.svg(0,0) #calling here as once inside previewRect, error trapping difficult... ''') P.svg(0,0) #calling here as once inside previewRect, error trapping difficult... crudeDebuggerPrint('''partsList.py:95 previewDimension.initializePreview( V, clickEvent, hoverEvent ) ''') previewDimension.initializePreview( V, clickEvent, hoverEvent )
def stack_selectDimensioningPoint( event, referer, elementXML, elementParms, elementViewObject ): viewInfo = selectionOverlay.DrawingsViews_info[elementViewObject.Name] if len(d.selections) == 0: if isinstance(referer, selectionOverlay.PointSelectionGraphicsItem): d.selections.append( PointSelection( elementParms, elementXML, viewInfo ) ) d.selections[-1].condensed_args = True selectionOverlay.hideSelectionGraphicsItems( lambda gi: isinstance(gi, selectionOverlay.LineSelectionGraphicsItem) ) else: d.selections.append( LineSelection( elementParms, elementXML, viewInfo ) ) linearDimension_parallels_hide_non_parallel( elementParms, elementViewObject) d.viewScale = 1 / elementXML.rootNode().scaling() else: if isinstance(referer, selectionOverlay.PointSelectionGraphicsItem): d.selections.append( PointSelection( elementParms, elementXML, viewInfo ) ) d.selections[-1].condensed_args = True else: d.selections.append( LineSelection( elementParms, elementXML, viewInfo ) ) if len(d.selections) == 2: previewDimension.initializePreview(d, linearDimension_stack_preview, linearDimension_stack_clickHandler)
def accept( self ): debugPrint(2, 'AddTextDialogWidget accept pressed') widgets = dict( [c.objectName(), c] for c in self.children() ) debugPrint(2, 'widgets %s' % widgets) if widgets['textLineEdit'].text() == '': debugPrint(1, 'Aborting placing empty text.') return debugPrint(2, 'Placing "%s"' % widgets['textLineEdit'].text() ) self.hide() dimensioning.text = widgets['textLineEdit'].text() widgets['textLineEdit'].setText('') family = widgets['familyLineEdit'].text() size = widgets['sizeLineEdit'].text() fill = widgets['colorLineEdit'].text() dimensioning.textRenderer = SvgTextRenderer( family, size, fill ) debugPrint(3,'textRenderer created') debugPrint(3,'previewDimension.initializePreview') previewDimension.initializePreview( dimensioning.drawingVars, clickEvent, hoverEvent )
def stack_selectDimensioningPoint( event, referer, elementXML, elementParms, elementViewObject ): if d.stage == 0: if isinstance(referer,selectionOverlay.PointSelectionGraphicsItem): d.reference_type = 'point' d.selections = [[elementParms['x'], elementParms['y']]] selectionOverlay.hideSelectionGraphicsItems( lambda gi: isinstance(gi, selectionOverlay.LineSelectionGraphicsItem) ) else: d.reference_type = 'line' d.selections = [[ elementParms[k] for k in [ 'x1', 'y1', 'x2', 'y2' ] ]] linearDimension_parallels_hide_non_parallel( elementParms, elementViewObject) d.stage = 1 d.viewScale = 1 / elementXML.rootNode().scaling() else: if isinstance(referer,selectionOverlay.PointSelectionGraphicsItem): d.selections.append( [elementParms['x'], elementParms['y']] ) else: d.selections.append( [ elementParms[k] for k in [ 'x1', 'y1', 'x2', 'y2' ] ] ) if len(d.selections) == 2: previewDimension.initializePreview( d, linearDimension_stack_preview, linearDimension_stack_clickHandler )
def selectFun( event, referer, elementXML, elementParms, elementViewObject ): if not isinstance(referer,selectionOverlay.LineSelectionGraphicsItem): x,y = elementParms['x'], elementParms['y'] d.args = [[x, y]] d.stage = 1 d.dimScale = elementXML.rootNode().scaling() debugPrint(3, 'center selected at x=%3.1f y=%3.1f scale %3.1f' % (x,y, d.dimScale)) selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( d, centerLine_preview , centerLine_clickHandler) else: if d.stage == 0: d.line1 = [ elementParms[k] for k in [ 'x1', 'y1', 'x2', 'y2' ] ] d.stage = 1 linearDimension_parallels_hide_non_parallel( elementParms, elementViewObject) else: x1, y1, x2, y2 = d.line1 x3, y3, x4, y4 = [ elementParms[k] for k in [ 'x1', 'y1', 'x2', 'y2' ] ] d.args = [[0.25*(x1 + x2 + x3 + x4), 0.25*(y1 + y2 + y3 + y4)]] d.stage = 1 d.dimScale = elementXML.rootNode().scaling() selectionOverlay.hideSelectionGraphicsItems() previewDimension.initializePreview( d, centerLine_preview , centerLine_clickHandler)