Arch: Set wall and structs default units to mm

This commit is contained in:
Yorik van Havre 2013-07-24 13:00:02 -03:00
parent 197d141c58
commit 6e9a51d017
3 changed files with 28 additions and 19 deletions

View File

@ -51,7 +51,7 @@ StructuralPresets = [str(translate("Arch","Wood 1x2in (19x38mm)")),
str(translate("Arch","Wood 6x6in (140x140mm)")), str(translate("Arch","Wood 6x6in (140x140mm)")),
str(translate("Arch","Wood 8x8in (184x184mm)"))] str(translate("Arch","Wood 8x8in (184x184mm)"))]
def makeStructure(baseobj=None,length=1,width=1,height=1,name=str(translate("Arch","Structure"))): def makeStructure(baseobj=None,length=0,width=0,height=0,name=str(translate("Arch","Structure"))):
'''makeStructure([obj],[length],[width],[heigth],[swap]): creates a '''makeStructure([obj],[length],[width],[heigth],[swap]): creates a
structure element based on the given profile object and the given structure element based on the given profile object and the given
extrusion height. If no base object is given, you can also specify extrusion height. If no base object is given, you can also specify
@ -62,9 +62,12 @@ def makeStructure(baseobj=None,length=1,width=1,height=1,name=str(translate("Arc
if baseobj: if baseobj:
obj.Base = baseobj obj.Base = baseobj
obj.Base.ViewObject.hide() obj.Base.ViewObject.hide()
obj.Width = width if width:
obj.Height = height obj.Width = width
obj.Length = length if height:
obj.Height = height
if length:
obj.Length = length
obj.ViewObject.ShapeColor = ArchCommands.getDefaultColor("Structure") obj.ViewObject.ShapeColor = ArchCommands.getDefaultColor("Structure")
return obj return obj
@ -93,9 +96,9 @@ class _CommandStructure:
global QtGui, QtCore global QtGui, QtCore
from PyQt4 import QtGui, QtCore from PyQt4 import QtGui, QtCore
self.Length = 0.5 self.Length = 100
self.Width = 0.2 self.Width = 100
self.Height = 1 self.Height = 1000
self.continueCmd = False self.continueCmd = False
sel = FreeCADGui.Selection.getSelection() sel = FreeCADGui.Selection.getSelection()
if sel: if sel:
@ -162,6 +165,7 @@ class _CommandStructure:
lay1.addWidget(label1) lay1.addWidget(label1)
self.vLength = QtGui.QDoubleSpinBox() self.vLength = QtGui.QDoubleSpinBox()
self.vLength.setDecimals(2) self.vLength.setDecimals(2)
self.vLength.setMaximum(99999.99)
self.vLength.setValue(self.Length) self.vLength.setValue(self.Length)
lay1.addWidget(self.vLength) lay1.addWidget(self.vLength)
@ -172,6 +176,7 @@ class _CommandStructure:
lay2.addWidget(label2) lay2.addWidget(label2)
self.vWidth = QtGui.QDoubleSpinBox() self.vWidth = QtGui.QDoubleSpinBox()
self.vWidth.setDecimals(2) self.vWidth.setDecimals(2)
self.vWidth.setMaximum(99999.99)
self.vWidth.setValue(self.Width) self.vWidth.setValue(self.Width)
lay2.addWidget(self.vWidth) lay2.addWidget(self.vWidth)
@ -182,6 +187,7 @@ class _CommandStructure:
lay3.addWidget(label3) lay3.addWidget(label3)
value3 = QtGui.QDoubleSpinBox() value3 = QtGui.QDoubleSpinBox()
value3.setDecimals(2) value3.setDecimals(2)
value3.setMaximum(99999.99)
value3.setValue(self.Height) value3.setValue(self.Height)
lay3.addWidget(value3) lay3.addWidget(value3)
@ -219,8 +225,8 @@ class _CommandStructure:
try: try:
p = str(t) p = str(t)
wh = p.split("(")[-1].split(")")[0][:-2].split("x") wh = p.split("(")[-1].split(")")[0][:-2].split("x")
self.vLength.setValue(float(wh[0])/1000.0) self.vLength.setValue(float(wh[0]))
self.vWidth.setValue(float(wh[1])/1000.0) self.vWidth.setValue(float(wh[1]))
except: except:
FreeCAD.Console.PrintError(str(translate("Arch","Error: Couldn't apply this preset"))) FreeCAD.Console.PrintError(str(translate("Arch","Error: Couldn't apply this preset")))
@ -241,6 +247,9 @@ class _Structure(ArchComponent.Component):
obj.addProperty("App::PropertyIntegerList","Exclude","Base", obj.addProperty("App::PropertyIntegerList","Exclude","Base",
str(translate("Arch","The element numbers to exclude when this structure is based on axes"))) str(translate("Arch","The element numbers to exclude when this structure is based on axes")))
self.Type = "Structure" self.Type = "Structure"
obj.Length = 100
obj.Width = 100
obj.Height = 1000
def execute(self,obj): def execute(self,obj):
self.createGeometry(obj) self.createGeometry(obj)
@ -275,7 +284,7 @@ class _Structure(ArchComponent.Component):
import Part, DraftGeomUtils import Part, DraftGeomUtils
# getting default values # getting default values
height = width = length = 1 height = width = length = 100
if hasattr(obj,"Length"): if hasattr(obj,"Length"):
if obj.Length: if obj.Length:
length = obj.Length length = obj.Length

View File

@ -135,8 +135,8 @@ class _CommandWall:
global QtGui, QtCore global QtGui, QtCore
from PyQt4 import QtGui, QtCore from PyQt4 import QtGui, QtCore
self.Width = 0.1 self.Width = 200
self.Height = 1 self.Height = 3000
self.Align = "Center" self.Align = "Center"
self.Length = None self.Length = None
self.continueCmd = False self.continueCmd = False
@ -347,9 +347,9 @@ class _Wall(ArchComponent.Component):
obj.Align = ['Left','Right','Center'] obj.Align = ['Left','Right','Center']
obj.ForceWire = False obj.ForceWire = False
self.Type = "Wall" self.Type = "Wall"
obj.Width = 0.1 obj.Width = 100
obj.Height = 0 obj.Height = 1000
obj.Length = 1 obj.Length = 1000
def execute(self,obj): def execute(self,obj):
self.createGeometry(obj) self.createGeometry(obj)
@ -373,11 +373,11 @@ class _Wall(ArchComponent.Component):
def getDefaultValues(self,obj): def getDefaultValues(self,obj):
"returns normal,width,height values from this wall" "returns normal,width,height values from this wall"
length = 1.0 length = 1000
if hasattr(obj,"Length"): if hasattr(obj,"Length"):
if obj.Length: if obj.Length:
length = obj.Length length = obj.Length
width = 1.0 width = 100
if hasattr(obj,"Width"): if hasattr(obj,"Width"):
if obj.Width: if obj.Width:
width = obj.Width width = obj.Width
@ -390,7 +390,7 @@ class _Wall(ArchComponent.Component):
if Draft.getType(p) == "Floor": if Draft.getType(p) == "Floor":
height = p.Height height = p.Height
if not height: if not height:
height = 1.0 height = 1000
if hasattr(obj,"Normal"): if hasattr(obj,"Normal"):
if obj.Normal == Vector(0,0,0): if obj.Normal == Vector(0,0,0):
normal = Vector(0,0,1) normal = Vector(0,0,1)

View File

@ -198,7 +198,7 @@ class plane:
rot = FreeCADGui.ActiveDocument.ActiveView.getCameraNode().getField("orientation").getValue() rot = FreeCADGui.ActiveDocument.ActiveView.getCameraNode().getField("orientation").getValue()
upvec = Vector(rot.multVec(coin.SbVec3f(0,1,0)).getValue()) upvec = Vector(rot.multVec(coin.SbVec3f(0,1,0)).getValue())
vdir = FreeCADGui.ActiveDocument.ActiveView.getViewDirection() vdir = FreeCADGui.ActiveDocument.ActiveView.getViewDirection()
self.alignToPointAndAxis(Vector(0,0,0), DraftVecUtils.neg(vdir), upvec) self.alignToPointAndAxis(Vector(0,0,0), DraftVecUtils.neg(vdir), 0, upvec)
except: except:
print "Draft: Unable to align the working plane to the current view" print "Draft: Unable to align the working plane to the current view"
self.weak = True self.weak = True