forked from youen/assembly_handbook
added code to annotate an object in TechDraw with its name (wip)
This commit is contained in:
parent
41097abf6a
commit
b4eb9b7207
@ -67,6 +67,9 @@ class AssemblyHandbookWorkbench(Gui.Workbench):
|
||||
|
||||
self.importModule('ahb_cmd_animate')
|
||||
toolbox.append("AHB_animate")
|
||||
|
||||
self.importModule('ahb_cmd_view_annotate')
|
||||
toolbox.append("AHB_view_annotate")
|
||||
|
||||
if self.dev:
|
||||
self.importModule('ahb_cmd_parse_step')
|
||||
|
@ -1,17 +1,42 @@
|
||||
doc = App.activeDocument()
|
||||
view = doc.getObject('View')
|
||||
import FreeCADGui as Gui
|
||||
import FreeCAD as App
|
||||
|
||||
if len(Gui.Selection.getSelection()) != 1:
|
||||
raise Exception("Veuillez sélectionner exactement un objet")
|
||||
class AHB_View_Annotate:
|
||||
def GetResources(self):
|
||||
return {"MenuText": "View/Annotate",
|
||||
"ToolTip": "Annotates a TechDraw view with object names",
|
||||
"Pixmap": ""
|
||||
}
|
||||
|
||||
object = Gui.Selection.getSelection()[0]
|
||||
def IsActive(self):
|
||||
return True
|
||||
|
||||
# Get object center in view space
|
||||
objectCenterWorld = object.LinkPlacement.Matrix.multiply(object.LinkedObject.Shape.CenterOfGravity)
|
||||
vertId = view.makeCosmeticVertex3d(objectCenterWorld)
|
||||
vert = view.getCosmeticVertex(vertId)
|
||||
objectCenterView = vert.Point
|
||||
view.removeCosmeticVertex(vertId)
|
||||
def Activated(self):
|
||||
doc = App.activeDocument()
|
||||
page = doc.getObject('Page')
|
||||
view = page.Views[0]
|
||||
|
||||
# Create Balloon
|
||||
if len(Gui.Selection.getSelection()) != 1:
|
||||
raise Exception("Veuillez sélectionner exactement un objet")
|
||||
|
||||
object = Gui.Selection.getSelection()[0]
|
||||
|
||||
# Get object center in view space
|
||||
objectCenterWorld = object.LinkPlacement.Matrix.multiply(object.LinkedObject.Shape.CenterOfGravity)
|
||||
vertId = view.makeCosmeticVertex3d(objectCenterWorld)
|
||||
vert = view.getCosmeticVertex(vertId)
|
||||
objectCenterView = vert.Point
|
||||
view.removeCosmeticVertex(vertId)
|
||||
|
||||
# Create Balloon
|
||||
balloon = App.ActiveDocument.addObject("TechDraw::DrawViewBalloon", "Balloon")
|
||||
balloon.SourceView = view
|
||||
balloon.OriginX = objectCenterView.x
|
||||
balloon.OriginY = objectCenterView.y
|
||||
balloon.Text = "1"
|
||||
balloon.Y = objectCenterView.x + 20
|
||||
balloon.X = objectCenterView.y + 20
|
||||
page.addView(balloon)
|
||||
|
||||
from ahb_command import AHB_CommandWrapper
|
||||
AHB_CommandWrapper.addGuiCommand('AHB_view_annotate', AHB_View_Annotate())
|
||||
|
Loading…
Reference in New Issue
Block a user