def Activated(self): global QtGui, QtCore from PyQt4 import QtGui, QtCore self.Width = 0.1 self.Height = 1 self.Align = "Center" self.Length = None self.continueCmd = False p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.JOIN_WALLS = p.GetBool("joinWallSketches") sel = FreeCADGui.Selection.getSelection() done = False self.existing = [] if sel: import Draft if Draft.getType(sel[0]) != "Wall": FreeCAD.ActiveDocument.openTransaction( str(translate("Arch", "Create Wall"))) FreeCADGui.doCommand('import Arch') for obj in sel: FreeCADGui.doCommand( 'Arch.makeWall(FreeCAD.ActiveDocument.' + obj.Name + ')') FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() done = True if not done: import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() FreeCADGui.Snapper.getPoint(callback=self.getPoint, extradlg=self.taskbox())
def Activated(self): global QtGui, QtCore from PyQt4 import QtGui, QtCore self.Length = 0.5 self.Width = 0.2 self.Height = 1 self.continueCmd = False sel = FreeCADGui.Selection.getSelection() if sel: # direct creation FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Structure"))) FreeCADGui.doCommand("import Arch") # if selection contains structs and axes, make a system st = Draft.getObjectsOfType(sel,"Structure") ax = Draft.getObjectsOfType(sel,"Axis") if st and ax: FreeCADGui.doCommand("Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")") else: # else, do normal structs for obj in sel: FreeCADGui.doCommand("Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() else: # interactive mode import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Height) self.tracker.length(self.Length) self.tracker.on() FreeCADGui.Snapper.getPoint(callback=self.getPoint,movecallback=self.update,extradlg=self.taskbox())
def Activated(self): global QtGui, QtCore from PyQt4 import QtGui, QtCore self.Width = 0.1 self.Height = 1 self.Align = "Center" self.continueCmd = False p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.JOIN_WALLS = p.GetBool("joinWallSketches") sel = FreeCADGui.Selection.getSelection() done = False self.existing = [] if sel: import Draft if Draft.getType(sel[0]) != "Wall": FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Wall"))) FreeCADGui.doCommand('import Arch') for obj in sel: FreeCADGui.doCommand('Arch.makeWall(FreeCAD.ActiveDocument.'+obj.Name+')') FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() done = True if not done: import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() FreeCADGui.Snapper.getPoint(callback=self.getPoint,extradlg=self.taskbox())
def Activated(self): global QtGui, QtCore from PyQt4 import QtGui, QtCore self.Width = 0.1 self.Height = 1 self.Align = "Center" self.continueCmd = False sel = FreeCADGui.Selection.getSelection() done = False self.existing = [] if sel: import Draft if Draft.getType(sel[0]) != "Wall": FreeCAD.ActiveDocument.openTransaction("Wall") for obj in sel: makeWall(obj) FreeCAD.ActiveDocument.commitTransaction() done = True if not done: import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() FreeCADGui.Snapper.getPoint(callback=self.getPoint,extradlg=self.taskbox())
def Activated(self): p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Length = p.GetFloat("PanelLength",1000) self.Width = p.GetFloat("PanelWidth",1000) self.Thickness = p.GetFloat("PanelThickness",10) self.Profile = None self.continueCmd = False self.rotated = False self.DECIMALS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals",2) self.FORMAT = "%." + str(self.DECIMALS) + "f mm" sel = FreeCADGui.Selection.getSelection() if sel: if len(sel) == 1: if Draft.getType(sel[0]) == "Panel": return FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Panel"))) FreeCADGui.addModule("Arch") for obj in sel: FreeCADGui.doCommand("Arch.makePanel(FreeCAD.ActiveDocument." + obj.Name + ",thickness=" + str(self.Thickness) + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return # interactive mode if hasattr(FreeCAD,"DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Thickness) self.tracker.length(self.Length) self.tracker.on() FreeCADGui.Snapper.getPoint(callback=self.getPoint,movecallback=self.update,extradlg=self.taskbox())
def Activated(self): p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Length = p.GetFloat("PanelLength",1000) self.Width = p.GetFloat("PanelWidth",1000) self.Thickness = p.GetFloat("PanelThickness",10) self.Profile = None self.continueCmd = False self.rotated = False sel = FreeCADGui.Selection.getSelection() if sel: if len(sel) == 1: if Draft.getType(sel[0]) == "Panel": return FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Panel"))) FreeCADGui.addModule("Arch") for obj in sel: FreeCADGui.doCommand("Arch.makePanel(FreeCAD.ActiveDocument." + obj.Name + ",thickness=" + str(self.Thickness) + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return # interactive mode if hasattr(FreeCAD,"DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Thickness) self.tracker.length(self.Length) self.tracker.on() FreeCADGui.Snapper.getPoint(callback=self.getPoint,movecallback=self.update,extradlg=self.taskbox())
def Activated(self): global QtGui, QtCore from PyQt4 import QtGui, QtCore self.Width = 0.1 self.Height = 1 self.Align = "Center" sel = FreeCADGui.Selection.getSelection() done = False self.existing = [] if sel: import Draft if Draft.getType(sel[0]) != "Wall": FreeCAD.ActiveDocument.openTransaction("Wall") for obj in sel: makeWall(obj) FreeCAD.ActiveDocument.commitTransaction() done = True if not done: import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() FreeCADGui.Snapper.getPoint(callback=self.getPoint, extradlg=self.taskbox())
def Activated(self): self.Align = "Center" self.Length = None self.lengthValue = 0 self.continueCmd = False p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Width = p.GetFloat("WallWidth", 200) self.Height = p.GetFloat("WallHeight", 3000) self.JOIN_WALLS_SKETCHES = p.GetBool("joinWallSketches", False) self.AUTOJOIN = p.GetBool("autoJoinWalls", True) self.DECIMALS = FreeCAD.ParamGet( "User parameter:BaseApp/Preferences/Units").GetInt("Decimals", 2) import DraftGui self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, 'Length') sel = FreeCADGui.Selection.getSelectionEx() done = False self.existing = [] if sel: # automatic mode import Draft if Draft.getType(sel[0].Object) != "Wall": FreeCAD.ActiveDocument.openTransaction( translate("Arch", "Create Wall")) FreeCADGui.addModule("Arch") for selobj in sel: if Draft.getType(selobj.Object) == "Space": spacedone = False if selobj.HasSubObjects: if "Face" in selobj.SubElementNames[0]: idx = int(selobj.SubElementNames[0][4:]) FreeCADGui.doCommand( "Arch.makeWall(FreeCAD.ActiveDocument." + selobj.Object.Name + ",face=" + str(idx) + ")") spacedone = True if not spacedone: FreeCADGui.doCommand( 'Arch.makeWall(FreeCAD.ActiveDocument.' + selobj.Object.Name + ')') else: FreeCADGui.doCommand( 'Arch.makeWall(FreeCAD.ActiveDocument.' + selobj.Object.Name + ')') FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() done = True if not done: # interactive mode import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() if hasattr(FreeCAD, "DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() FreeCADGui.Snapper.getPoint(callback=self.getPoint, extradlg=self.taskbox())
def Activated(self): self.Align = "Center" self.Length = None self.continueCmd = False p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Width = p.GetFloat("WallWidth", 200) self.Height = p.GetFloat("WallHeight", 3000) self.JOIN_WALLS_SKETCHES = p.GetBool("joinWallSketches", False) self.AUTOJOIN = p.GetBool("autoJoinWalls", True) self.DECIMALS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals", 2) import DraftGui self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, "Length") sel = FreeCADGui.Selection.getSelectionEx() done = False self.existing = [] if sel: # automatic mode import Draft if Draft.getType(sel[0].Object) != "Wall": FreeCAD.ActiveDocument.openTransaction(translate("Arch", "Create Wall")) FreeCADGui.doCommand("import Arch") for selobj in sel: if Draft.getType(selobj.Object) == "Space": spacedone = False if selobj.HasSubObjects: if "Face" in selobj.SubElementNames[0]: idx = int(selobj.SubElementNames[0][4:]) FreeCADGui.doCommand( "Arch.makeWall(FreeCAD.ActiveDocument." + selobj.Object.Name + ",face=" + str(idx) + ")" ) spacedone = True if not spacedone: FreeCADGui.doCommand("Arch.makeWall(FreeCAD.ActiveDocument." + selobj.Object.Name + ")") else: FreeCADGui.doCommand("Arch.makeWall(FreeCAD.ActiveDocument." + selobj.Object.Name + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() done = True if not done: # interactive mode import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() if hasattr(FreeCAD, "DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() FreeCADGui.Snapper.getPoint(callback=self.getPoint, extradlg=self.taskbox())
def Activated(self): p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Length = p.GetFloat("StructureLength", 100) self.Width = p.GetFloat("StructureWidth", 100) self.Height = p.GetFloat("StructureHeight", 1000) self.Profile = None self.continueCmd = False sel = FreeCADGui.Selection.getSelection() if sel: st = Draft.getObjectsOfType(sel, "Structure") ax = Draft.getObjectsOfType(sel, "Axis") if ax: FreeCAD.ActiveDocument.openTransaction(str(translate("Arch", "Create Structural System"))) FreeCADGui.addModule("Arch") if st: FreeCADGui.doCommand( "Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")" ) else: FreeCADGui.doCommand("Arch.makeStructuralSystem(axes=" + ArchCommands.getStringList(ax) + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return elif not (ax) and not (st): FreeCAD.ActiveDocument.openTransaction(str(translate("Arch", "Create Structure"))) FreeCADGui.addModule("Arch") for obj in sel: FreeCADGui.doCommand("Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return # interactive mode if hasattr(FreeCAD, "DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() import DraftTrackers, ArchPrecast self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Height) self.tracker.length(self.Length) self.tracker.on() self.precast = ArchPrecast._PrecastTaskPanel() self.dents = ArchPrecast._DentsTaskPanel() self.precast.Dents = self.dents FreeCADGui.Snapper.getPoint( callback=self.getPoint, movecallback=self.update, extradlg=[self.taskbox(), self.precast.form, self.dents.form], )
def Activated(self): p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Length = p.GetFloat("StructureLength", 100) self.Width = p.GetFloat("StructureWidth", 100) self.Height = p.GetFloat("StructureHeight", 1000) self.Profile = None self.continueCmd = False self.DECIMALS = FreeCAD.ParamGet( "User parameter:BaseApp/Preferences/Units").GetInt("Decimals", 2) import DraftGui self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS, 'Length') sel = FreeCADGui.Selection.getSelection() if sel: st = Draft.getObjectsOfType(sel, "Structure") ax = Draft.getObjectsOfType(sel, "Axis") if ax: FreeCAD.ActiveDocument.openTransaction( str(translate("Arch", "Create Structural System"))) FreeCADGui.addModule("Arch") if st: FreeCADGui.doCommand("Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")") else: FreeCADGui.doCommand("Arch.makeStructuralSystem(axes=" + ArchCommands.getStringList(ax) + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return elif not (ax) and not (st): FreeCAD.ActiveDocument.openTransaction( str(translate("Arch", "Create Structure"))) FreeCADGui.addModule("Arch") for obj in sel: FreeCADGui.doCommand( "Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return # interactive mode if hasattr(FreeCAD, "DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Height) self.tracker.length(self.Length) self.tracker.on() FreeCADGui.Snapper.getPoint(callback=self.getPoint, movecallback=self.update, extradlg=self.taskbox())
def Activated(self): p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Length = p.GetFloat("StructureLength",100) self.Width = p.GetFloat("StructureWidth",100) self.Height = p.GetFloat("StructureHeight",1000) self.Profile = None self.continueCmd = False self.bpoint = None self.bmode = False sel = FreeCADGui.Selection.getSelection() if sel: st = Draft.getObjectsOfType(sel,"Structure") ax = Draft.getObjectsOfType(sel,"Axis") if ax: FreeCAD.ActiveDocument.openTransaction(translate("Arch","Create Structural System")) FreeCADGui.addModule("Arch") if st: FreeCADGui.doCommand("obj = Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")") else: FreeCADGui.doCommand("obj = Arch.makeStructuralSystem(axes=" + ArchCommands.getStringList(ax) + ")") FreeCADGui.addModule("Draft") FreeCADGui.doCommand("Draft.autogroup(obj)") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return elif not(ax) and not(st): FreeCAD.ActiveDocument.openTransaction(translate("Arch","Create Structure")) FreeCADGui.addModule("Arch") for obj in sel: FreeCADGui.doCommand("obj = Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")") FreeCADGui.addModule("Draft") FreeCADGui.doCommand("Draft.autogroup(obj)") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return # interactive mode if hasattr(FreeCAD,"DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() import DraftTrackers,ArchPrecast self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Height) self.tracker.length(self.Length) self.tracker.on() self.precast = ArchPrecast._PrecastTaskPanel() self.dents = ArchPrecast._DentsTaskPanel() self.precast.Dents = self.dents FreeCADGui.Snapper.getPoint(callback=self.getPoint,movecallback=self.update,extradlg=[self.taskbox(),self.precast.form,self.dents.form])
def Activated(self): global QtGui, QtCore from PyQt4 import QtGui, QtCore p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Length = p.GetFloat("StructureLength", 100) self.Width = p.GetFloat("StructureWidth", 100) self.Height = p.GetFloat("StructureHeight", 1000) self.Profile = 0 self.continueCmd = False sel = FreeCADGui.Selection.getSelection() if sel: if Draft.getType(sel[0]) != "Structure": # direct creation FreeCAD.ActiveDocument.openTransaction( str(translate("Arch", "Create Structure"))) FreeCADGui.doCommand("import Arch") # if selection contains structs and axes, make a system st = Draft.getObjectsOfType(sel, "Structure") ax = Draft.getObjectsOfType(sel, "Axis") if st and ax: FreeCADGui.doCommand("Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")") else: # else, do normal structs for obj in sel: FreeCADGui.doCommand( "Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return # interactive mode if hasattr(FreeCAD, "DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Height) self.tracker.length(self.Length) self.tracker.on() FreeCADGui.Snapper.getPoint(callback=self.getPoint, movecallback=self.update, extradlg=self.taskbox())
def Activated(self): p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Align = ["Center","Left","Right"][p.GetInt("WallAlignment",0)] self.MultiMat = None self.Length = None self.lengthValue = 0 self.continueCmd = False self.Width = p.GetFloat("WallWidth",200) self.Height = p.GetFloat("WallHeight",3000) self.JOIN_WALLS_SKETCHES = p.GetBool("joinWallSketches",False) self.AUTOJOIN = p.GetBool("autoJoinWalls",True) sel = FreeCADGui.Selection.getSelectionEx() done = False self.existing = [] if sel: # automatic mode import Draft if Draft.getType(sel[0].Object) != "Wall": FreeCAD.ActiveDocument.openTransaction(translate("Arch","Create Wall")) FreeCADGui.addModule("Arch") for selobj in sel: if Draft.getType(selobj.Object) == "Space": spacedone = False if selobj.HasSubObjects: if "Face" in selobj.SubElementNames[0]: idx = int(selobj.SubElementNames[0][4:]) FreeCADGui.doCommand("obj = Arch.makeWall(FreeCAD.ActiveDocument."+selobj.Object.Name+",face="+str(idx)+")") spacedone = True if not spacedone: FreeCADGui.doCommand('obj = Arch.makeWall(FreeCAD.ActiveDocument.'+selobj.Object.Name+')') else: FreeCADGui.doCommand('obj = Arch.makeWall(FreeCAD.ActiveDocument.'+selobj.Object.Name+')') FreeCADGui.addModule("Draft") FreeCADGui.doCommand("Draft.autogroup(obj)") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() done = True if not done: # interactive mode import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() if hasattr(FreeCAD,"DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() FreeCADGui.Snapper.getPoint(callback=self.getPoint,extradlg=self.taskbox(),title=translate("Arch","First point of wall")+":")
def Activated(self): global QtGui, QtCore from PyQt4 import QtGui, QtCore p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch") self.Length = p.GetFloat("StructureLength", 100) self.Width = p.GetFloat("StructureWidth", 100) self.Height = p.GetFloat("StructureHeight", 1000) self.Profile = 0 self.continueCmd = False sel = FreeCADGui.Selection.getSelection() if sel: # direct creation FreeCAD.ActiveDocument.openTransaction(str(translate("Arch", "Create Structure"))) FreeCADGui.doCommand("import Arch") # if selection contains structs and axes, make a system st = Draft.getObjectsOfType(sel, "Structure") ax = Draft.getObjectsOfType(sel, "Axis") if st and ax: FreeCADGui.doCommand( "Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")" ) else: # else, do normal structs for obj in sel: FreeCADGui.doCommand("Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() else: # interactive mode if hasattr(FreeCAD, "DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Height) self.tracker.length(self.Length) self.tracker.on() FreeCADGui.Snapper.getPoint(callback=self.getPoint, movecallback=self.update, extradlg=self.taskbox())
def Activated(self): p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Timber") self.Length = p.GetFloat("BeamLength",1000) self.Width = p.GetFloat("BeamWidth",100) self.Height = p.GetFloat("BeamHeight",100) #self.Profile = 0 self.continueCmd = False self.DECIMALS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals",2) import DraftGui self.FORMAT = DraftGui.makeFormatSpec(self.DECIMALS,'Length') """ sel = FreeCADGui.Selection.getSelection() if sel: st = Draft.getObjectsOfType(sel,"Structure") ax = Draft.getObjectsOfType(sel,"Axis") if ax: FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Structural System"))) FreeCADGui.addModule("Arch") if st: FreeCADGui.doCommand("Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")") else: FreeCADGui.doCommand("Arch.makeStructuralSystem(axes=" + ArchCommands.getStringList(ax) + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return elif not(ax) and not(st): FreeCAD.ActiveDocument.openTransaction(str(translate("Arch","Create Structure"))) FreeCADGui.addModule("Arch") for obj in sel: FreeCADGui.doCommand("Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() return """ # interactive mode if hasattr(FreeCAD,"DraftWorkingPlane"): FreeCAD.DraftWorkingPlane.setup() import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Height) self.tracker.length(self.Length) self.tracker.on() FreeCADGui.Snapper.getPoint(callback=self.getPoint,movecallback=self.update,extradlg=self.taskbox())
def Activated(self): global QtGui, QtCore from PyQt4 import QtGui, QtCore self.Length = 0.5 self.Width = 0.2 self.Height = 1 self.continueCmd = False sel = FreeCADGui.Selection.getSelection() if sel: # direct creation FreeCAD.ActiveDocument.openTransaction( str(translate("Arch", "Create Structure"))) FreeCADGui.doCommand("import Arch") # if selection contains structs and axes, make a system st = Draft.getObjectsOfType(sel, "Structure") ax = Draft.getObjectsOfType(sel, "Axis") if st and ax: FreeCADGui.doCommand("Arch.makeStructuralSystem(" + ArchCommands.getStringList(st) + "," + ArchCommands.getStringList(ax) + ")") else: # else, do normal structs for obj in sel: FreeCADGui.doCommand( "Arch.makeStructure(FreeCAD.ActiveDocument." + obj.Name + ")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute() else: # interactive mode import DraftTrackers self.points = [] self.tracker = DraftTrackers.boxTracker() self.tracker.width(self.Width) self.tracker.height(self.Height) self.tracker.length(self.Length) self.tracker.on() FreeCADGui.Snapper.getPoint(callback=self.getPoint, movecallback=self.update, extradlg=self.taskbox())