Arch: Added edit mode task panel to arch profiles + added American Wide Flange (W) profiles

This commit is contained in:
Yorik van Havre
2018-07-21 22:50:07 -03:00
parent a7e865ecb0
commit ff21c1b95d
5 changed files with 771 additions and 10 deletions

View File

@@ -54,7 +54,9 @@ __url__ = "http://www.freecadweb.org"
profilefiles = [os.path.join(FreeCAD.getResourceDir(),"Mod","Arch","Presets","profiles.csv"),
os.path.join(os.path.dirname(__file__),"Presets","profiles.csv")]
def readPresets():
Presets=[]
for profilefile in profilefiles:
if os.path.exists(profilefile):
@@ -63,7 +65,7 @@ def readPresets():
beamreader = csv.reader(csvfile)
bid=1 #Unique index
for row in beamreader:
if row[0].startswith("#"):
if (not row) or row[0].startswith("#"):
continue
try:
r=[bid, row[0], row[1], row[2]]
@@ -79,12 +81,14 @@ def readPresets():
return Presets
def makeProfile(profile=[0,'REC','REC100x100','R',100,100]):
'''makeProfile(profile): returns a shape with the face defined by the profile data'''
if not FreeCAD.ActiveDocument:
FreeCAD.Console.PrintError("No active document. Aborting\n")
return
obj = FreeCAD.ActiveDocument.addObject("Part::Part2DObjectPython",profile[2])
obj.Label = translate("Arch",profile[2])
obj.Label = profile[2]
if profile[3]=="C":
_ProfileC(obj, profile)
elif profile[3]=="H":
@@ -98,18 +102,21 @@ def makeProfile(profile=[0,'REC','REC100x100','R',100,100]):
else :
print("Profile not supported")
if FreeCAD.GuiUp:
Draft._ViewProviderDraft(obj.ViewObject)
ViewProviderProfile(obj.ViewObject)
return obj
class _Profile(Draft._DraftObject):
'''Superclass for Profile classes'''
def __init__(self,obj, profile):
self.Profile=profile
Draft._DraftObject.__init__(self,obj,"Profile")
class _ProfileC(_Profile):
'''A parametric circular tubeprofile. Profile data: [Outside diameter, Inside diameter]'''
def __init__(self,obj, profile):
@@ -129,8 +136,10 @@ class _ProfileC(_Profile):
p=Part.makeRuledSurface(cs2,cs1)
obj.Shape = p
obj.Placement = pl
class _ProfileH(_Profile):
'''A parametric H or I beam profile. Profile data: [width, height, web thickness, flange thickness] (see http://en.wikipedia.org/wiki/I-beam for reference)'''
def __init__(self,obj, profile):
@@ -161,7 +170,9 @@ class _ProfileH(_Profile):
obj.Shape = p
obj.Placement = pl
class _ProfileR(_Profile):
'''A parametric rectangular beam profile based on [Width, Height]'''
def __init__(self,obj, profile):
@@ -182,7 +193,9 @@ class _ProfileR(_Profile):
obj.Shape = p
obj.Placement = pl
class _ProfileRH(_Profile):
'''A parametric Rectangular hollow beam profile. Profile data: [width, height, thickness]'''
def __init__(self,obj, profile):
@@ -211,8 +224,10 @@ class _ProfileRH(_Profile):
r = p.cut(q)
obj.Shape = r
obj.Placement = pl
class _ProfileU(_Profile):
'''A parametric H or I beam profile. Profile data: [width, height, web thickness, flange thickness] (see http://en.wikipedia.org/wiki/I-beam forreference)'''
def __init__(self,obj, profile):
@@ -238,5 +253,129 @@ class _ProfileU(_Profile):
#p.reverse()
obj.Shape = p
obj.Placement = pl
class ViewProviderProfile(Draft._ViewProviderDraft):
'''General view provider for Profile classes'''
def __init__(self,vobj):
Draft._ViewProviderDraft.__init__(self,vobj)
def getIcon(self):
import Arch_rc
return ":/icons/Arch_Profile.svg"
def setEdit(self,vobj,mode):
taskd = ProfileTaskPanel(vobj.Object)
FreeCADGui.Control.showDialog(taskd)
return True
def unsetEdit(self,vobj,mode):
FreeCADGui.Control.closeDialog()
FreeCAD.ActiveDocument.recompute()
return
class ProfileTaskPanel:
'''The editmode TaskPanel for Profile objects'''
def __init__(self,obj):
self.obj = obj
self.profile = None
if isinstance(self.obj.Proxy,_ProfileC):
self.type = "C"
elif isinstance(self.obj.Proxy,_ProfileH):
self.type = "H"
elif isinstance(self.obj.Proxy,_ProfileR):
self.type = "R"
elif isinstance(self.obj.Proxy,_ProfileRH):
self.type = "RH"
elif isinstance(self.obj.Proxy,_ProfileU):
self.type = "U"
else:
self.type = "Undefined"
self.form = QtGui.QWidget()
layout = QtGui.QVBoxLayout(self.form)
self.comboCategory = QtGui.QComboBox(self.form)
layout.addWidget(self.comboCategory)
self.comboProfile = QtGui.QComboBox(self.form)
layout.addWidget(self.comboProfile)
QtCore.QObject.connect(self.comboCategory, QtCore.SIGNAL("currentIndexChanged(QString)"), self.changeCategory)
QtCore.QObject.connect(self.comboProfile, QtCore.SIGNAL("currentIndexChanged(int)"), self.changeProfile)
# Read preset profiles and add relevant ones
self.categories=[]
self.presets=readPresets()
for pre in self.presets:
if pre[3] == self.type:
if pre[1] not in self.categories:
self.categories.append(pre[1])
self.comboCategory.addItem(" ")
if self.categories:
self.comboCategory.addItems(self.categories)
# Find current profile by label
for pre in self.presets:
if self.obj.Label in pre[2]:
self.profile = pre
break
if not self.profile:
# try to find by size
if hasattr(self.obj,"Width") and hasattr(self.obj,"Height"):
for pre in self.presets:
if abs(self.obj.Width - self.Profile[4]) < 0.1 and \
abs(self.obj.Height - self.Profile[5]) < 0.1:
self.profile = pre
break
if self.profile:
origprofile = list(self.profile) # the operation below will change self.profile
self.comboCategory.setCurrentIndex(1+self.categories.index(origprofile[1]))
self.changeCategory(origprofile[1])
self.comboProfile.setCurrentIndex(self.currentpresets.index(origprofile))
self.retranslateUi(self.form)
def changeCategory(self,text):
self.comboProfile.clear()
self.currentpresets = []
for pre in self.presets:
if pre[1] == text:
self.currentpresets.append(pre)
f = FreeCAD.Units.Quantity(pre[4],FreeCAD.Units.Length).getUserPreferred()
d = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals",2)
s1 = str(round(pre[4]/f[1],d))
s2 = str(round(pre[5]/f[1],d))
s3 = str(f[2])
self.comboProfile.addItem(pre[2]+" ("+s1+"x"+s2+s3+")")
def changeProfile(self,idx):
self.profile = self.currentpresets[idx]
def accept(self):
if self.profile:
self.obj.Label = self.profile[2]
if self.type in ["H","R","RH","U"]:
self.obj.Width = self.profile[4]
self.obj.Height = self.profile[5]
if self.type in ["H","U"]:
self.obj.WebThickness = self.profile[6]
self.obj.FlangeThickness = self.profile[7]
elif self.type == "RH":
self.obj.Thickness = self.profile[6]
elif self.type == "C":
self.obj.OutDiameter = self.profile[4]
self.obj.Thickness = self.profile[5]
FreeCAD.ActiveDocument.recompute()
FreeCADGui.ActiveDocument.resetEdit()
return True
def retranslateUi(self, TaskPanel):
self.form.setWindowTitle(self.type+" "+QtGui.QApplication.translate("Arch", "Profile", None))

View File

@@ -238,7 +238,7 @@ class _CommandStructure:
else:
# metal profile
FreeCADGui.doCommand('p = Arch.makeProfile('+str(self.Profile)+')')
if self.Length == self.Profile[4]:
if abs(self.Length - self.Profile[4]) < 0.1: # forgive rounding errors
# vertical
FreeCADGui.doCommand('s = Arch.makeStructure(p,height='+str(self.Height)+')')
else:
@@ -269,7 +269,12 @@ class _CommandStructure:
ilist=[]
for p in baselist:
ilist.append(p[2]+" ("+str(p[4])+"x"+str(p[5])+"mm)")
f = FreeCAD.Units.Quantity(p[4],FreeCAD.Units.Length).getUserPreferred()
d = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals",2)
s1 = str(round(p[4]/f[1],d))
s2 = str(round(p[5]/f[1],d))
s3 = str(f[2])
ilist.append(p[2]+" ("+s1+"x"+s2+s3+")")
return ilist
def taskbox(self):

View File

@@ -1,5 +1,6 @@
#Data structure:
#Category, Name, Profile class, geometric data...
#All measures must be in millimeters
#Possible profile classes are:
#C=Circular tube
#H= H- or I-profile
@@ -12,6 +13,7 @@
CTH,CTH423,C,42.4,3.2
#H- or I-profile
#Category,Name,H,width,height,web thickness,flange thickness
# HEA profiles
HEA,HEA100,H,100,96,5,8
HEA,HEA120,H,120,114,5,8
HEA,HEA140,H,140,133,5.5,8.5
@@ -60,6 +62,7 @@ HEA,HEAA700,H,300,670,13,17
HEA,HEAA800,H,300,770,14,18
HEA,HEAA900,H,300,870,15,20
HEA,HEAA1000,H,300,970,16,21
# HEB profiles
HEB,HEB100,H,100,100,6,10
HEB,HEB120,H,120,120,6.5,11
HEB,HEB140,H,140,140,7,12
@@ -84,6 +87,7 @@ HEB,HEB700,H,300,700,17,32
HEB,HEB800,H,300,800,17.5,33
HEB,HEB900,H,300,900,18.5,35
HEB,HEB1000,H,300,1000,19,36
# HEM profiles
HEM,HEM160,H,166,180,14,23
HEM,HEM180,H,186,200,14.5,24
HEM,HEM200,H,206,220,15,25
@@ -105,6 +109,7 @@ HEM,HEM700,H,304,716,21,40
HEM,HEM800,H,303,814,21,40
HEM,HEM900,H,302,910,21,40
HEM,HEM1000,H,302,1008,21,40
# INP profiles
INP,INP80,H,42,80,3.9,5.9
INP,INP100,H,50,100,4.5,6.8
INP,INP120,H,58,120,5.1,7.7
@@ -122,6 +127,7 @@ INP,INP340,H,137,340,12.2,18.3
INP,INP360,H,143,360,13,19.5
INP,INP380,H,149,380,13.7,20.5
INP,INP400,H,155,400,14.4,21.6
# IPE profiles
IPE,IPE100,H,55,100,4.1,5.7
IPE,IPE120,H,64,120,4.4,6.3
IPE,IPE140,H,73,140,4.7,6.9
@@ -197,6 +203,139 @@ IPE,IPE750x185,H,267,766,14.9,23.6
IPE,IPE750x196,H,268,770,15.6,25.4
IPE,IPE750x210,H,268,775,16,28
IPE,IPE750x222,H,269,778,17,29.5
# American Wide Flange W profiles
W,W4x13,H,103.124,105.664,7.112,8.763
W,W5x16,H,127,127.254,6.096,9.144
W,W5x19,H,127.762,130.81,6.858,10.922
W,W6x9,H,100.076,149.86,4.318,5.461
W,W6x12,H,101.6,153.162,5.842,7.112
W,W6x15,H,152.146,152.146,5.842,6.604
W,W6x16,H,102.362,159.512,6.604,10.287
W,W6x20,H,152.908,157.48,6.604,9.271
W,W6x25,H,154.432,162.052,8.128,11.557
W,W8x10,H,100.076,200.406,4.318,5.207
W,W8x13,H,101.6,202.946,5.842,6.477
W,W8x15,H,101.981,205.994,6.223,8.001
W,W8x18,H,133.35,206.756,5.842,8.382
W,W8x21,H,133.858,210.312,6.35,10.16
W,W8x24,H,164.973,201.422,6.223,10.16
W,W8x28,H,165.989,204.724,7.239,11.811
W,W8x31,H,203.073,203.2,7.239,11.049
W,W8x35,H,203.708,206.248,7.874,12.573
W,W8x40,H,204.978,209.55,9.144,14.224
W,W8x48,H,205.994,215.9,10.16,17.399
W,W8x58,H,208.788,222.25,12.954,20.574
W,W8x67,H,210.312,228.6,14.478,23.749
W,W10x12,H,100.584,250.698,4.826,5.334
W,W10x15,H,101.6,253.746,5.842,6.858
W,W10x17,H,101.854,256.794,6.096,8.382
W,W10x19,H,102.108,260.096,6.35,10.033
W,W10x22,H,146.05,258.318,6.096,9.144
W,W10x26,H,146.558,262.382,6.604,11.176
W,W10x30,H,147.574,265.938,7.62,12.954
W,W10x33,H,202.184,247.142,7.366,11.049
W,W10x39,H,202.819,251.968,8.001,13.462
W,W10x45,H,203.708,256.54,8.89,15.748
W,W10x49,H,254,253.492,8.636,14.224
W,W10x54,H,254.762,256.286,9.398,15.621
W,W10x60,H,256.032,259.588,10.668,17.272
W,W10x68,H,257.302,264.16,11.938,19.558
W,W10x77,H,258.826,269.24,13.462,22.098
W,W10x88,H,260.731,275.336,15.367,25.146
W,W10x100,H,262.636,281.94,17.272,28.2448
W,W10x112,H,264.541,288.544,19.177,31.75
W,W12x14,H,100.838,302.514,5.08,5.715
W,W12x16,H,101.346,304.546,5.588,6.731
W,W12x19,H,101.727,308.864,5.969,8.89
W,W12x22,H,102.362,312.674,6.604,10.795
W,W12x26,H,164.846,310.388,5.842,9.652
W,W12x30,H,165.608,313.436,6.604,11.176
W,W12x35,H,166.624,317.5,7.62,13.208
W,W12x40,H,203.327,303.276,7.493,13.081
W,W12x45,H,204.343,306.324,8.509,14.605
W,W12x50,H,205.232,309.626,9.398,16.256
W,W12x53,H,253.873,306.324,8.763,14.605
W,W12x58,H,254.254,309.626,9.144,16.256
W,W12x65,H,304.8,307.848,9.906,15.367
W,W12x72,H,305.816,311.15,10.922,17.018
W,W12x79,H,306.832,314.452,11.938,18.669
W,W12x87,H,307.975,318.262,13.081,20.574
W,W12x96,H,308.864,322.834,13.97,22.86
W,W12x106,H,310.388,327.406,15.494,25.146
W,W12x120,H,312.928,333.248,18.034,28.067
W,W12x136,H,314.96,340.614,20.066,31.75
W,W14x22,H,127,348.996,5.842,8.509
W,W14x26,H,127.635,353.314,6.477,10.668
W,W14x30,H,170.942,351.536,6.858,9.779
W,W14x34,H,171.323,355.092,7.239,11.557
W,W14x38,H,171.958,358.14,7.874,13.081
W,W14x43,H,203.073,346.964,7.747,13.462
W,W14x48,H,203.962,350.266,8.636,15.113
W,W14x53,H,204.724,353.568,9.398,16.764
W,W14x61,H,253.873,352.806,9.525,16.383
W,W14x68,H,254.889,356.616,10.541,18.288
W,W14x74,H,255.778,359.918,11.43,19.939
W,W14x82,H,257.302,363.474,12.954,21.717
W,W14x90,H,368.808,356.108,11.176,18.034
W,W14x99,H,369.951,359.664,12.319,19.812
W,W14x109,H,370.967,363.728,13.335,21.844
W,W14x120,H,372.618,367.792,14.986,23.876
W,W14x132,H,374.015,372.364,16.383,26.162
W,W16x26,H,139.7,398.526,6.35,8.763
W,W16x31,H,140.335,403.352,6.985,11.176
W,W16x36,H,177.419,402.844,7.493,10.922
W,W16x40,H,177.673,406.654,7.747,12.827
W,W16x45,H,178.689,409.702,8.763,14.351
W,W16x50,H,179.578,413.004,9.652,16.002
W,W16x57,H,180.848,417.322,10.922,18.161
W,W16x67,H,259.969,414.782,10.033,16.891
W,W16x77,H,261.493,419.608,11.557,19.304
W,W16x89,H,263.271,425.45,13.335,22.225
W,W16x100,H,264.795,431.038,14.859,25.019
W,W18x35,H,152.4,449.58,7.62,10.795
W,W18x40,H,152.908,454.66,8.001,13.335
W,W18x46,H,153.924,459.74,9.144,15.367
W,W18x50,H,190.5,457.2,9.017,14.478
W,W18x55,H,191.262,459.74,9.906,16.002
W,W18x60,H,192.024,462.28,10.541,17.653
W,W18x65,H,192.786,467.36,11.43,19.05
W,W18x71,H,194.056,469.9,12.573,20.574
W,W18x76,H,280.416,462.28,10.795,17.272
W,W18x86,H,281.686,467.36,12.192,19.558
W,W18x97,H,283.21,472.44,13.589,22.098
W,W18x106,H,284.48,474.98,14.986,23.876
W,W18x119,H,286.258,482.6,16.637,26.924
W,W21x44,H,165.1,525.78,8.89,11.43
W,W21x50,H,165.862,528.32,9.652,13.589
W,W21x57,H,166.624,535.94,10.287,16.51
W,W21x62,H,209.296,533.4,10.16,15.621
W,W21x68,H,210.058,535.94,10.922,17.399
W,W21x73,H,210.82,538.48,11.557,18.796
W,W21x83,H,212.344,543.56,13.081,21.209
W,W21x93,H,213.868,548.64,14.732,23.622
W,W21x101,H,312.166,543.56,12.7,20.32
W,W21x111,H,313.436,546.1,13.97,22.225
W,W21x122,H,314.706,551.18,15.24,24.384
W,W21x132,H,315.976,553.72,16.51,26.289
W,W21x147,H,317.754,561.34,18.288,29.21
W,W24x55,H,178.054,599.44,10.033,12.827
W,W24x62,H,178.816,601.98,10.922,14.986
W,W24x68,H,227.838,601.98,10.541,14.859
W,W24x76,H,228.6,607.06,11.176,17.272
W,W24x84,H,229.108,612.14,11.938,19.558
W,W24x94,H,230.378,612.14,13.081,22.225
W,W24x104,H,323.85,612.14,12.7,19.05
W,W24x117,H,325.12,617.22,13.97,21.59
W,W24x131,H,327.66,622.3,15.367,24.384
W,W24x146,H,327.66,627.38,16.51,27.686
W,W24x162,H,330.2,635,17.907,30.988
W,W27x84,H,252.984,678.18,11.684,16.256
W,W27x94,H,254,683.26,12.446,18.923
W,W27x102,H,254.508,688.34,13.081,21.082
W,W27x114,H,255.778,693.42,14.478,23.622
W,W27x146,H,355.6,695.96,15.367,24.765
W,W27x161,H,356.108,701.04,16.764,27.432
W,W27x178,H,357.886,706.12,18.415,30.226
#Rectangular
#Category,Name,R,width,height
REC,1x2in,R,19,28
1 #Data structure:
2 #Category, Name, Profile class, geometric data...
3 #All measures must be in millimeters
4 #Possible profile classes are:
5 #C=Circular tube
6 #H= H- or I-profile
13 CTH,CTH423,C,42.4,3.2
14 #H- or I-profile
15 #Category,Name,H,width,height,web thickness,flange thickness
16 # HEA profiles
17 HEA,HEA100,H,100,96,5,8
18 HEA,HEA120,H,120,114,5,8
19 HEA,HEA140,H,140,133,5.5,8.5
62 HEA,HEAA800,H,300,770,14,18
63 HEA,HEAA900,H,300,870,15,20
64 HEA,HEAA1000,H,300,970,16,21
65 # HEB profiles
66 HEB,HEB100,H,100,100,6,10
67 HEB,HEB120,H,120,120,6.5,11
68 HEB,HEB140,H,140,140,7,12
87 HEB,HEB800,H,300,800,17.5,33
88 HEB,HEB900,H,300,900,18.5,35
89 HEB,HEB1000,H,300,1000,19,36
90 # HEM profiles
91 HEM,HEM160,H,166,180,14,23
92 HEM,HEM180,H,186,200,14.5,24
93 HEM,HEM200,H,206,220,15,25
109 HEM,HEM800,H,303,814,21,40
110 HEM,HEM900,H,302,910,21,40
111 HEM,HEM1000,H,302,1008,21,40
112 # INP profiles
113 INP,INP80,H,42,80,3.9,5.9
114 INP,INP100,H,50,100,4.5,6.8
115 INP,INP120,H,58,120,5.1,7.7
127 INP,INP360,H,143,360,13,19.5
128 INP,INP380,H,149,380,13.7,20.5
129 INP,INP400,H,155,400,14.4,21.6
130 # IPE profiles
131 IPE,IPE100,H,55,100,4.1,5.7
132 IPE,IPE120,H,64,120,4.4,6.3
133 IPE,IPE140,H,73,140,4.7,6.9
203 IPE,IPE750x196,H,268,770,15.6,25.4
204 IPE,IPE750x210,H,268,775,16,28
205 IPE,IPE750x222,H,269,778,17,29.5
206 # American Wide Flange W profiles
207 W,W4x13,H,103.124,105.664,7.112,8.763
208 W,W5x16,H,127,127.254,6.096,9.144
209 W,W5x19,H,127.762,130.81,6.858,10.922
210 W,W6x9,H,100.076,149.86,4.318,5.461
211 W,W6x12,H,101.6,153.162,5.842,7.112
212 W,W6x15,H,152.146,152.146,5.842,6.604
213 W,W6x16,H,102.362,159.512,6.604,10.287
214 W,W6x20,H,152.908,157.48,6.604,9.271
215 W,W6x25,H,154.432,162.052,8.128,11.557
216 W,W8x10,H,100.076,200.406,4.318,5.207
217 W,W8x13,H,101.6,202.946,5.842,6.477
218 W,W8x15,H,101.981,205.994,6.223,8.001
219 W,W8x18,H,133.35,206.756,5.842,8.382
220 W,W8x21,H,133.858,210.312,6.35,10.16
221 W,W8x24,H,164.973,201.422,6.223,10.16
222 W,W8x28,H,165.989,204.724,7.239,11.811
223 W,W8x31,H,203.073,203.2,7.239,11.049
224 W,W8x35,H,203.708,206.248,7.874,12.573
225 W,W8x40,H,204.978,209.55,9.144,14.224
226 W,W8x48,H,205.994,215.9,10.16,17.399
227 W,W8x58,H,208.788,222.25,12.954,20.574
228 W,W8x67,H,210.312,228.6,14.478,23.749
229 W,W10x12,H,100.584,250.698,4.826,5.334
230 W,W10x15,H,101.6,253.746,5.842,6.858
231 W,W10x17,H,101.854,256.794,6.096,8.382
232 W,W10x19,H,102.108,260.096,6.35,10.033
233 W,W10x22,H,146.05,258.318,6.096,9.144
234 W,W10x26,H,146.558,262.382,6.604,11.176
235 W,W10x30,H,147.574,265.938,7.62,12.954
236 W,W10x33,H,202.184,247.142,7.366,11.049
237 W,W10x39,H,202.819,251.968,8.001,13.462
238 W,W10x45,H,203.708,256.54,8.89,15.748
239 W,W10x49,H,254,253.492,8.636,14.224
240 W,W10x54,H,254.762,256.286,9.398,15.621
241 W,W10x60,H,256.032,259.588,10.668,17.272
242 W,W10x68,H,257.302,264.16,11.938,19.558
243 W,W10x77,H,258.826,269.24,13.462,22.098
244 W,W10x88,H,260.731,275.336,15.367,25.146
245 W,W10x100,H,262.636,281.94,17.272,28.2448
246 W,W10x112,H,264.541,288.544,19.177,31.75
247 W,W12x14,H,100.838,302.514,5.08,5.715
248 W,W12x16,H,101.346,304.546,5.588,6.731
249 W,W12x19,H,101.727,308.864,5.969,8.89
250 W,W12x22,H,102.362,312.674,6.604,10.795
251 W,W12x26,H,164.846,310.388,5.842,9.652
252 W,W12x30,H,165.608,313.436,6.604,11.176
253 W,W12x35,H,166.624,317.5,7.62,13.208
254 W,W12x40,H,203.327,303.276,7.493,13.081
255 W,W12x45,H,204.343,306.324,8.509,14.605
256 W,W12x50,H,205.232,309.626,9.398,16.256
257 W,W12x53,H,253.873,306.324,8.763,14.605
258 W,W12x58,H,254.254,309.626,9.144,16.256
259 W,W12x65,H,304.8,307.848,9.906,15.367
260 W,W12x72,H,305.816,311.15,10.922,17.018
261 W,W12x79,H,306.832,314.452,11.938,18.669
262 W,W12x87,H,307.975,318.262,13.081,20.574
263 W,W12x96,H,308.864,322.834,13.97,22.86
264 W,W12x106,H,310.388,327.406,15.494,25.146
265 W,W12x120,H,312.928,333.248,18.034,28.067
266 W,W12x136,H,314.96,340.614,20.066,31.75
267 W,W14x22,H,127,348.996,5.842,8.509
268 W,W14x26,H,127.635,353.314,6.477,10.668
269 W,W14x30,H,170.942,351.536,6.858,9.779
270 W,W14x34,H,171.323,355.092,7.239,11.557
271 W,W14x38,H,171.958,358.14,7.874,13.081
272 W,W14x43,H,203.073,346.964,7.747,13.462
273 W,W14x48,H,203.962,350.266,8.636,15.113
274 W,W14x53,H,204.724,353.568,9.398,16.764
275 W,W14x61,H,253.873,352.806,9.525,16.383
276 W,W14x68,H,254.889,356.616,10.541,18.288
277 W,W14x74,H,255.778,359.918,11.43,19.939
278 W,W14x82,H,257.302,363.474,12.954,21.717
279 W,W14x90,H,368.808,356.108,11.176,18.034
280 W,W14x99,H,369.951,359.664,12.319,19.812
281 W,W14x109,H,370.967,363.728,13.335,21.844
282 W,W14x120,H,372.618,367.792,14.986,23.876
283 W,W14x132,H,374.015,372.364,16.383,26.162
284 W,W16x26,H,139.7,398.526,6.35,8.763
285 W,W16x31,H,140.335,403.352,6.985,11.176
286 W,W16x36,H,177.419,402.844,7.493,10.922
287 W,W16x40,H,177.673,406.654,7.747,12.827
288 W,W16x45,H,178.689,409.702,8.763,14.351
289 W,W16x50,H,179.578,413.004,9.652,16.002
290 W,W16x57,H,180.848,417.322,10.922,18.161
291 W,W16x67,H,259.969,414.782,10.033,16.891
292 W,W16x77,H,261.493,419.608,11.557,19.304
293 W,W16x89,H,263.271,425.45,13.335,22.225
294 W,W16x100,H,264.795,431.038,14.859,25.019
295 W,W18x35,H,152.4,449.58,7.62,10.795
296 W,W18x40,H,152.908,454.66,8.001,13.335
297 W,W18x46,H,153.924,459.74,9.144,15.367
298 W,W18x50,H,190.5,457.2,9.017,14.478
299 W,W18x55,H,191.262,459.74,9.906,16.002
300 W,W18x60,H,192.024,462.28,10.541,17.653
301 W,W18x65,H,192.786,467.36,11.43,19.05
302 W,W18x71,H,194.056,469.9,12.573,20.574
303 W,W18x76,H,280.416,462.28,10.795,17.272
304 W,W18x86,H,281.686,467.36,12.192,19.558
305 W,W18x97,H,283.21,472.44,13.589,22.098
306 W,W18x106,H,284.48,474.98,14.986,23.876
307 W,W18x119,H,286.258,482.6,16.637,26.924
308 W,W21x44,H,165.1,525.78,8.89,11.43
309 W,W21x50,H,165.862,528.32,9.652,13.589
310 W,W21x57,H,166.624,535.94,10.287,16.51
311 W,W21x62,H,209.296,533.4,10.16,15.621
312 W,W21x68,H,210.058,535.94,10.922,17.399
313 W,W21x73,H,210.82,538.48,11.557,18.796
314 W,W21x83,H,212.344,543.56,13.081,21.209
315 W,W21x93,H,213.868,548.64,14.732,23.622
316 W,W21x101,H,312.166,543.56,12.7,20.32
317 W,W21x111,H,313.436,546.1,13.97,22.225
318 W,W21x122,H,314.706,551.18,15.24,24.384
319 W,W21x132,H,315.976,553.72,16.51,26.289
320 W,W21x147,H,317.754,561.34,18.288,29.21
321 W,W24x55,H,178.054,599.44,10.033,12.827
322 W,W24x62,H,178.816,601.98,10.922,14.986
323 W,W24x68,H,227.838,601.98,10.541,14.859
324 W,W24x76,H,228.6,607.06,11.176,17.272
325 W,W24x84,H,229.108,612.14,11.938,19.558
326 W,W24x94,H,230.378,612.14,13.081,22.225
327 W,W24x104,H,323.85,612.14,12.7,19.05
328 W,W24x117,H,325.12,617.22,13.97,21.59
329 W,W24x131,H,327.66,622.3,15.367,24.384
330 W,W24x146,H,327.66,627.38,16.51,27.686
331 W,W24x162,H,330.2,635,17.907,30.988
332 W,W27x84,H,252.984,678.18,11.684,16.256
333 W,W27x94,H,254,683.26,12.446,18.923
334 W,W27x102,H,254.508,688.34,13.081,21.082
335 W,W27x114,H,255.778,693.42,14.478,23.622
336 W,W27x146,H,355.6,695.96,15.367,24.765
337 W,W27x161,H,356.108,701.04,16.764,27.432
338 W,W27x178,H,357.886,706.12,18.415,30.226
339 #Rectangular
340 #Category,Name,R,width,height
341 REC,1x2in,R,19,28

View File

@@ -85,6 +85,7 @@
<file>icons/Arch_Grid.svg</file>
<file>icons/Arch_BuildingPart.svg</file>
<file>icons/Arch_BuildingPart_Tree.svg</file>
<file>icons/Arch_Profile.svg</file>
<file>ui/ParametersWindowDouble.svg</file>
<file>ui/ParametersWindowSimple.svg</file>
<file>ui/ParametersWindowFixed.svg</file>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB