Showing posts with label timber. Show all posts
Showing posts with label timber. Show all posts

Tuesday, May 26, 2015

Bundle of my ExcelCalcs UpLoads

{The link to download the bundle is at the bottom of the post.}

Whilst my preference is that my spreadsheets are downloaded via ExcelCalcs and that queries are placed in the ExcelCalcs forum, it is apparent that people request the spreadsheets without need to join ExcelCalcs. Most of my spreadsheets are dependent on links to other workbooks, some .xls and others .xla, in consequence the download limits on ExcelCalcs may prevent new users from obtaining a fully working set of my workbooks. None of my spreadsheets are dependent on XLC , whilst I believe it is good software, I have moved beyond the need to format my calculations in standard text book format. For my comparison of MathCAD/SMath type applications versus spreadsheets read:
Electronic Calculations (eCalc's) .
My primary concern is calculating results and making decisions, not documenting the journey taken, as a consequence I make extensive use of visual basic for applications (vba), with MS Excel primarily being used to provide: a file format, editor, and reporting capability.

The spreadsheets are primarily concerned with structural design of manufactured structural products (MSP). Such products mainly comprise of steel, cold-formed steel, and timber sheds and canopies. The spreadsheets are modifications of the production spreadsheets we have used for design for many years at MiScion Pty Ltd (also Trading as Roy Harrison and Associates).

The spreadsheets we use in-house are for more complete buildings, involving member and connection design (eg. schShedDesignerR01.xls is a cut down version). The idea of releasing the spreadsheets was to provide the building blocks for others to build custom workbooks for other more specific building forms. If people want custom workbooks or vb.net/vba applications for their structural product then I can be contacted at MiScion Pty Ltd.

Structural design of a product can be divided between the following three major activities:
  1. Brief Description: Design Brief
  2. Evidence-of-Suitability
  3. Detail Description:Specification
Provision of Structural Calculations primarily falls into the evidence-of-suitability activity. Whilst drawing falls into both the design brief and specification activities.

Structural design can also be considered divided into the following:
  1. Product Structure/Description
  2. Dimension & Geometry
  3. Design Actions
  4. Design Action-Effects
  5. System/Component Stability/Resistance
    • Design/Assessment of Structural Form
    • Design/Assessment of Members
    • Design/Assessment of Connections
    • Design/Assessment of Interface/Supports (Footings)
The spreadsheets are listed below roughly divide into the above categories. For further information links to ExcelCalcs and Blog posts are provided. At present most of the blog posts simple display the ExcelCalcs page, but in the future I will add more detail about the workbooks. Also note that the graphics on the ExcelCalcs page were put there by the site administrator not myself, and don't always reflect the nature of the spreadsheet: and editing the page is limited, therefore the blog posts here will be up dated and modified first.

(c)Copyright 2015 Steven Conrad Harrison
The Bundled Package Comprises of the following Files:
FILENAME DESCRIPTION Blog ExcelCalcs
gpl.txt

readme.txt

Chart9BTC3 y04m06d14.pdf ColdFormed Steel Sheds Australia Height Span Limits of C-Sections. blog ExcelCalcs


TECHNICAL LIBRARY
schTechLIB.xla Libary of functions. schTechLIB contents blog ExcelCalcs
schTechLIBV2.xla Library without DAO references

ENVIRONMENT
Beaufort.xls Beaufort wind Scale blog ExcelCalcs
as4055.xls AS4055 Simplified wind loading for products blog ExcelCalcs
as4055v1.xls AS4055v2 Simplified wind loading for products blog ExcelCalcs
schWindAssessment_r02.xls Wind Loading to AS1170.2 blog ExcelCalcs



DIMENSION & GEOMETRY


drawWorkSheet2009.xls Experiments with Parametric Sketches using XY Charts. blog ExcelCalcs
schAcadLTCivilScriptWriter.xls Civil engineering Long Profiles and Sections. blog ExcelCalcs
schBuildingDimensions.xls Dimension and Geometry of Gable Frame shed Frame Member Lengths and Bracing Lengths. blog ExcelCalcs
schDrawSection.xls Draw Sections. blog ExcelCalcs
schCADDv2.xls CADD. blog ExcelCalcs


drawShed.zip CAD: Automatic generation of framing plans and elevations simple gable frame. blog ExcelCalcs
sample.dwg

schDrawShed.xls



vbaDXF.zip VBA Experiments Parsing ACAD DXF files. blog ExcelCalcs
DXFtoolsV01.xls

vbaDXF1.xls

vbaDXF2.xls

vbaDXF3.xls



drawShedDC1.zip CAD: Experiments with DesignCAD: Draw 3D framing of American Barn type structure. blog ExcelCalcs
Column1.dcd

schDrawShedDC1.xls



ExcelShapes.zip VBA Experiments with Excel Shapes Layer: Structural Framing Plans. blog ExcelCalcs
struMtrl.mdb

shapesTut01B.xls



drawTut.zip VBA Experiments with ACAD Script Automation. blog ExcelCalcs
drawTut01.xls

drawTut02.xls

drawTut03.xls

drawTut04.xls

drawTut05.xls

SampleSCR1.xls

UnSymmetricalGableSCR.xls

vbaDraw01punch.xls

vbaDraw02.xls

vbaDraw03.xls

vbaDraw04.xls



schHolePunching.xls Estimating: Hole punching requirements for roll-formed sections.




PRODUCT STRUCTURE TREE
bomStructureTreeStage3.xls exploded BOM (Bill of Materials). blog ExcelCalcs
schBOMStructureTreeStage1.xls Indented Bill of Material. blog ExcelCalcs


explodedBOM.zip IE/POM/CAPM Automatic Explosion of Bill of Materials. blog ExcelCalcs
Assemblies.xls

Materials.xls

mrpBOMv2.xls



ASSEMBLY ANALYSIS/DESIGN
schGableCanopyTimber.xls Gable Canopy to Australian Codes. blog ExcelCalcs
schKleinlogel03.xls Kleinlogel. blog ExcelCalcs
schShedDesignerR01.xls Wind Loads on Gable Frame to Australian Wind Code AS1170.2. blog ExcelCalcs


schDesignEngineR01.zip Application for Generation of Height Span Charts Gable Frame Sheds. blog ExcelCalcs
AcadScript.xls

BeamCalc.xls

Building00.xls

DBGtrace.xls

DataCosmos.xlt

DesignEngine.xls

GUI_lib.xls

Geom3D.xls

HeightSpanTableForm.xlt

Klein3.xlt

Primer.xls

RigidFrame.xls

Structure.xls

XStrings.xls

Xmaths.xls

as1170.xls

as4600.xls

struMtrl.mdb





MATERIALS
schStruMtrl.xls Structural Materials Data Steel. blog ExcelCalcs
schTimberMatrl.xls Timber Data for AS1720. blog ExcelCalcs
struMtrl.mdbMS Access database of properties. origin of schStruMtrl.xls.
MEMBER DESIGN
schDsgn1720.xls Calculator assessment of timber structures to AS1720. blog ExcelCalcs
schColdformedCee.xls Example Using Circular References to Force Iteration: Calculation Effective Section Modulus for Coldformed C-Section to AS4600. blog ExcelCalcs
schDsgn4600.xls
schDsgn4600R2013.xls
Calculator for assessment of cold-formed steel structures to AS4600.

Further information on set up can be found here.
blog ExcelCalcs
schDsgn4100.xls Calculator for assessment of steel structures to AS4100. blog ExcelCalcs


CONNECTIONS DESIGN
schTechNote022pt2.xls Tables for strength of bolted joints in thin cold-formed steel sheets to AS4600. blog ExcelCalcs


PRODUCTION AND OPERATION MANAGEMENT
schPlannerCalendar.xls Planner Calendar. blog ExcelCalcs
schWorkStudy.xls IE: Work study flow process chart. blog ExcelCalcs


GEOGRAPHICAL INFORMATION SYSTEMS
centralPlaces4.zip Experiments with Geographical Information System (GIS) central places. blog ExcelCalcs
CentralPlaces4ShedSuppliers.xls



MISCELLANEOUS
vbaObjects.zip VBA Experiments with Class Objects. blog ExcelCalcs
objTut01.xls

objTut02.xls

objTut03.xls



dataStruct.zip VBA Experiments with Abstract Data Structures. blog ExcelCalcs
dataStruct00.xls

dataStruct01.xls

dataStruct02.xls

dataStruct03.xls

dataStruct04.xls

dataStruct05.xls

orgDataStru.xls

treeExperiments.xls



vbaTuts.zip Excel/VBA Tutorials. blog ExcelCalcs
Node.dwg

NodeA.dwg

MyTest.txt

MyTest2.txt

TestNodes2.txt

vbaTut33.TXT

vbaTut00index.xls

vbaTut01.xls

vbaTut02.xls

vbaTut03.xls

vbaTut04.xls

vbaTut05.xls

vbaTut06.xls

vbaTut07.xls

vbaTut08.xls

vbaTut09.xls

vbaTut10.xls

vbaTut11.xls

vbaTut12.xls

vbaTut13.xls

vbaTut14.xls

vbaTut15.xls

vbaTut16.xls

vbaTut17.xls

vbaTut18.xls

vbaTut19.xls

vbaTut20.xls

vbaTut21.xls

vbaTut22.xls

vbaTut23.xls

vbaTut24.xls

vbaTut25.xls

vbaTut26.xls

vbaTut27.xls

vbaTut28.xls

vbaTut29.xls

vbaTut30.xls

vbaTut31.xls

vbaTut32.xls

vbaTut33.xls

vbaTut34.xls

vbaTut35.xls

vbaTut36.xls

vbaTut37.xls

vbaTut38.xls

vbaTut39.xls

vbaTut40.xls

vbaTut41.xls

vbaTut42.xls

vbaTut43.xls

vbaTut44.xls

vbaTut45.xls

vbaTut46.xls

vbaTut47.xls


The zip package can be downloaded free off charge from MiScion Pty Ltd: spreadsheet Bundle . MS Excel should automatically update the workbook links to the current folder. If create a subfolder of "My Documents" called eCalcs and below this create a folder called materials. The materials data files should be placed in this folder. The materials files are:
  • struMtrl.mdb
  • schStruMtrl.xls
  • schTimberMatrl.xls

Revisions:


  1. [26/5/2015] : Original Bundle Release
  2. [11/6/2015] : Updated the zip file to include revised versions of workbooks which had previously been uploaded to ExcelCalcs. These mainly comprise of changes to the AS4600 and AS4100 workbooks, which now have a button to open the section library, and  also worksheet application parameters to enable the DAO functions to find the MS Access database of sections properties (this currently only required for AS4600.). For more information refer to : My spreadsheets DAO and 64 bit Windows 7. For those not using AS4600 there is also a alternate version of schTechLIB which does not have the references to Microsoft DAO 3.6 object library, this is named schTechLIBV2.
  3. [01/02/2016] : Changed source of zip file from dropbox to MiScion Pty Ltd (the family business)

Saturday, January 25, 2014

Plane Frame Analysis

Sample03
I have taken the plane plane frame analysis application I previously blogged about here, and ripped out all the DOS based full screen graphics and reduced it to a command line application, and made available for download. To me this is not diminished capability but an enhancement. I never used the user interface as I auto-generated the data files using Borland Quattro Pro (QPro) spreadsheet. However whilst I could launch pframe from within QPro I had to open the data file, run the analysis and then save the results: three steps where one would have done. Now with a command line parameter, the data file can be created and then cpframe can be called from an MS Excel routine to run the analysis on the data file and produce the results file. Though it can be simply used at the command prompt. If type name in without a file name then it will show a brief message on how to use.


cpframe usage
run cpframe
Other wise it is simply called with a data file containing the definition of the structural model, a single load case per file, for example:
               cpframe refF_wrk.dat

screen dump as program runs
Which will then display its progress and generate a results file with the file extension .rpt for report. The report can be read with a simple text editor like notepad, and similarly data files can be created with notepad. Though the primary intent is that data files will be auto-generated by some other application.

Sample01
There are no graphics with this version. Since the graphics in the original version have full control of the graphics screen, its not fully compatible with use in Windows. It works in the Windows XP command prompt but does not seem to work in Windows 7. However can always load FreeDOS onto a bootable flashdrive and run from there.

Noting the benefit of being able to see the geometry and the direction of loading to check the validity of the model, in the near future I will release a version with the menus and graphics put back. However I will be removing the menus for data file creation, as objective is that data files will be created by an external application and I don't wish to expend time fixing such menus up. The source code has already been transferred to Delphi and a windows version part written. We also have a version in Excel/vba (.xla) which is providing the structures engine for cold-formed steel carport and veranda software. {Sorry! Cannot release the original version as the report file it produces implies we did the design of the structure being analysed. Plus it was compiled back in 1996 using Turbo Pascal, and finding the complete source code to compile something similar got complicated.}

Any case the idea isn't to write a stand alone frame analysis application but provide a library, or COM automation server or .net component which can be referenced in other applications, which need structural analysis as a component of a much larger system. A command line application provides a stepping stone towards such objective, it allows use in other applications, but in a more limited way than is possible if can send data direct into the analysis.

In future posts I will provide more sample data files, and an MS Excel workbook with vba code to write such data files. Resources for calculating wind loads and checking capacity of members can be found over on my ExelCalcs profile. Of course meshing it all together to fully automate simple buildings at the point of sale is a fairly massive exercise.

For small manufacturers approaching small engineering consultancies the one thing the consulting engineers have missing from their tool box is frame analysis. The consultants typically use MicroStran, Spacegass or Multiframe to conduct analysis, and therefore the engineers do not have their own tools to integrate into the software they are asked to develop. The simple solution to this is to use Kleinlogel formula, however new publications with such formula are now rare, and the older publications difficult to get hold of. Further there is the problem of finding the appropriate formula for the structure being considered. Sure they could attempt to derive the appropriate formula but that is more time and effort, and as the manufacturer introduces more variety into the structures more formulae are required. Where as  matrix structural analysis is more general purpose, once again there is still the problem of writing the source code and testing it. Also transforming theory into source code not so easy, and books with sample source not so readily available. Though a search of the web indicates recent engineering students/graduates may have experimented with matrix structural analysis using either MatLAB or SciLAB.

My previous contribution to easing this shortfall of analysis tools has been:

  1. Release height/span charts showing the limitations of c-sections for the typical gable frame shed so that can limit the number of standard designs produce detailed calculations for.
  2. Release MS Excel workbooks with Kleinlogel calculations in the worksheet.
  3. Release MS Excel workbook with Kleinlogel formula as vba code for gable frame.
  4. Release table of Contents of Kleinlogel formula book
  5. Release a simple program for checking gable frame size based on Kleinlogel formula.
All of these tools we use in-house for quick decision making, though admittedly my gable frame spreadsheet contains the full design for cold-formed steel: still I believe I've provided all the resources for interested parties to build something similar better adapted to their needs. All the previous releases however have been focused on the gable frame (sample01) where as design of the so called American barn style structure (sample03) is often wanted by manufacturers.  Using plane frame application this is now more practical to accomplish than setting up worksheet calculations in Excel.

The program can be downloaded here


DISCLAIMER :
Users of the software must accept this disclaimer of warranty :
The software is supplied as is. The author disclaims all warranties, expressed or implied, including without limitation, the warranties of merchantability and of fitness for any purpose. The author assumes no liability for damages, direct or consequential, which may result from the use of the software.


Related Posts:

Plane Frame Analysis History our Development

Plane Frame Analysis with Graphics
Plane Frame Analysis Front-End
Plane Frame Analysis Alternative Front-End
Plane Frame Analysis Back-End

Plane Frame Analysis Future Developments



Revisions:
[25/01/2014] Original
[23/04/2016] Changed download links to MiScion Pty Ltd Web Store

Tuesday, December 03, 2013

schTechLIB contents

A rough listing of Functions and Subroutines contained in the schTechLIB. The modules were all extracted using Excel vba CodeCleaner by AppsPro. Then FileLocator Pro regular expressions were used to find the functions and subroutines and report. Not all the parameters are listed as some function/subroutine headers span multiple lines, also some data was lost when the reports were imported into MS Excel and sorted. But its a start at documenting the content.

Buildings
Building000.bas
Function
IsCanopyStructure(StructuralForm As Integer) As Boolean
IsEnclosedBuildingStructure(StructuralForm As Integer) As Boolean
IsRoof(BuildingSurface As Integer) As Boolean
IsWall(BuildingSurface As Integer) As Boolean
IsWindWard(BuildingSurface As Integer, theta As Double) As Boolean
SurfaceStr(Surface As Integer) As String
Building001.bas
Function
IsAttachedCanopy(StructType As String) As Boolean
IsCanopy(StructType As String) As Boolean
IsDomestic(StructClass As String) As Boolean
IsGable(RoofType As String) As Boolean
IsHipped(RoofType As String) As Boolean
IsIndustrial(StructClass As String) As Boolean
IsRural(StructClass As String) As Boolean
IsShed(StructType As String) As Boolean
IsSkillion(RoofType As String) As Boolean
IsTroughed(RoofType As String) As Boolean
Design Actions
LimitStateConstants.bas
Sub
SetLimitStateTables()
LoadActions001.bas
Function
CalcLiveLoad(a As Double) As Double
MagnifyLoad(a As Double, k1 As Double, k2 As Double, k3 As Double, k4 As Double) As Double
StructuralLoading001.bas
Function
DistributedLoad(AreaLoad As Double, loadwidth As Double) As Double
TotalLoad(AreaLoad As Double, _
StructureLoads.bas
Sub
TStructureLoads_Init(xLoad As TStructureLoads)
Files
fmFileMngt.bas
Function
FileExists(SearchSpec As String) As Boolean
FirstFileFound(SearchSpec As String, fattr As Integer, foundname As String) As Boolean
NextFileFound(foundname As String) As Boolean
fmOpenFilesTEXT.bas
Function
fopen(fname As String, fmode As String) As Integer
Sub
fopenTXT(fp As Integer, fname As String, fmode As String)
Geometry
Geom3D03.bas
Sub
SetCoord(pt As TCoord, x1 As Double, y1 As Double, z1 As Double)
WriteCoord(fp As Integer, pt As TCoord)
Geom3D05.bas
Sub
SetDescr(node As TNode, descr1 As String)
SetNode(node As TNode, descr1 As String, x1 As Double, y1 As Double,
WriteNODE(fp As Integer, node As TNode)
Geom3D06.bas
Sub
SetEdge(n1x As Integer, n2x As Integer)
WriteEdge(fp As Integer)
Mathematics
xMathsAreaProperty.bas
Function
CircleArea(d As Double) As Double
RectangleArea(b As Double, h As Double) As Double
TriangleArea(b As Double, h As Double) As Double
xMathsExponentials.bas
Function
Log10(x As Double) As Double
LogN(x As Double, n As Double) As Double
Power(a As Double, x As Double) As Double
xMathsInterpolation.bas
Function
Calc_X(x1 As Double, y1 As Double, x2 As Double, y2 As Double, y As Double) As Double
Calc_Y(x1 As Double, y1 As Double, x2 As Double, y2 As Double, x As Double) As Double
Slope_M(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Double
YIntercept_C(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Double
xMathsNumbers.bas
Function
Ceil(x As Double) As Double
Floor(x As Double) As Double
Frac(x As Double) As Double
MaxValue(Recrds() As Double)
MinValue(Recrds() As Double)
Sub
dec(ByRef i As Integer)
inc(ByRef i As Integer)
MathTest1()
xMathsRightTriangle.bas
Function
Polar_Angle(x As Double, y As Double) As Double
Polar_Radius(x As Double, y As Double) As Double
RectCoord_x(r As Double, theta As Double) As Double
RectCoord_y(r As Double, theta As Double) As Double
RightTrig_Adj(Hyp_r As Double, Opp_y As Double) As Double
RightTrig_Cos(Hyp_r As Double, Adj_x As Double) As Double
RightTrig_Hyp(Adj_x As Double, Opp_y As Double) As Double
RightTrig_Opp(Hyp_r As Double, Adj_x As Double) As Double
RightTrig_Rise(Adj_x_Run As Double, theta As Double) As Double
RightTrig_Run(Opp_y_Rise As Double, theta As Double) As Double
RightTrig_Sin(Hyp_r As Double, Opp_y As Double) As Double
RightTrig_Tan(Adj_x As Double, Opp_y As Double) As Double
xMathsSortingSubs.bas
Sub
Sort(Recrds() As Double, Index() As Integer, n As Integer)
SwapDouble(Arg1 As Double, Arg2 As Double)
SwapInt(Arg1 As Integer, Arg2 As Integer)
xMathsTrigonometry.bas
Function
ArcCos(x As Double) As Double
ArcSin(x As Double) As Double
From_HMS(h As Double, m As Double, s As Double) As Double
From_HMS2(theta As Double) As Double
get1stQuadAngle(theta As Double) As Double
getRationalAngle(theta As Double) As Double
pi() As Double
To_HMS(theta As Double) As String
To_HMS2(theta As Double) As String
ToDegrees(x As Double) As Double
ToRadians(x As Double) As Double
Mechanics
BeamBM.bas
Function
BeamBM1(BM1 As Double, r1 As Double, w As Double, x As Double)
BeamCantilevers.bas
Function
BM_Cant1(w As Double, x As Double, L As Double) As Double
BeamFF1.bas
Function
BM_FF1(w As Double, x As Double, L As Double) As Double
def_FF1(w As Double, x As Double, L As Double, EI As Double) As Double
defMax_FF1(w As Double, L As Double, EI As Double) As Double
FEM_FF1(w As Double, L As Double) As Double
Ra_FF1(w As Double, L As Double) As Double
Rb_FF1(w As Double, L As Double) As Double
BeamFF2.bas
Function
BM_FF2(w As Double, x As Double, a As Double, b As Double, L As Double) As Double
FF2_Ra(w As Double, a As Double, b As Double, L As Double) As Double
FF2_Rb(w As Double, a As Double, b As Double, L As Double) As Double
Sub
TestFF2()
BeamOverHang.bas
Function
BM_Ohang(P As Double, x As Double, a As Double, b As Double) As Double
def_Ohang(P As Double, x1 As Double, a As Double, b As Double, EI As Double) As Double
BeamSS.bas
Function
eq_udl1(n As Integer, w() As Double, a() As Double, _
SS_Beam_BM(w As Double, L As Double, _
SS_Beam_BM2(w As Double, L As Double, _
SS_Beam_RA(w As Double, L As Double, _
SS_Beam_RA2(w As Double, L As Double, _
SS_Beam_RB(w As Double, L As Double, _
Sub
Beam3()
BeamSS1.bas
Function
BM_ss1(w As Double, x As Double, L As Double) As Double
def_ss1(w As Double, x As Double, L As Double, EI As Double) As Double
defMax_SS1(w As Double, L As Double, EI As Double) As Double
Ra_SS1(w As Double, L As Double) As Double
udl_ss1(BM As Double, L As Double) As Double
BeamSS2.bas
Function
BM_ss2(w As Double, x As Double, a As Double, b As Double, L As Double) As Double
BM_ss2c(w As Double, x As Double, a As Double, b As Double, c As Double) As Double
defMax_ss2(w As Double, _
R_ss2(w As Double, a As Double, b As Double, L As Double, ReactionNode As String) As Double
Sub
ss2(w As Double, a As Double, b As Double, L As Double, _
ss2c(w As Double, a As Double, b As Double, c As Double, _
BeamSS3.bas
Function
BM_ss3(w As Double, x As Double, L As Double, a As Double) As Double
def_ss3(w As Double, x As Double, a As Double, L As Double, EI As Double) As Double
Ra_SS3(w As Double, L As Double, a As Double) As Double
Rb_SS3(w As Double, L As Double, a As Double) As Double
Sub
ss3(w As Double, L As Double, a As Double, _
BeamSS9.bas
Function
BM_ss9(P As Double, x As Double, a As Double, L As Double) As Double
def_ss9(P As Double, x As Double, a As Double, L As Double, EI As Double) As Double
R_ss9(P As Double, a As Double, b As Double, L As Double, ReactionNode As String) As Double
BoltProp.bas
Function
AS4100_BoltShear(fuf As Double, kr As Double, _
AS4100_BoltTension(fuf As Double, A_s As Double) As Double
AS4100_BoltTension2(d As Double, P As Double, fuf As Double) As Double
MeanDiam(d As Double, P As Double) As Double
MeanDiam2(d As Double, P As Double) As Double
MinorDiam(d As Double, P As Double) As Double
PitchDiam(d As Double, P As Double) As Double
TensileArea(d As Double, P As Double) As Double
ENVMySystem.bas
Sub
SetMachine(ByRef fpathMtrl As String)
Mechanics1.bas
Function
getMomentCapacity(f As Double, z As Double) As Double
getRequiredSectionModulus(f As Double, BM As Double) As Double
RadiusGyration(i As Double, Area As Double)
SimpleStress(Force As Double, Area As Double) As Double
MechDesign010.bas
Function
DesignResistance(phi As Double, Kmod As Double, fo As Double, GeomSectProp As Double) As Double
FlexuralResistance(phi As Double, Kmod As Double, fy As Double, Ze As Double) As Double
KResultant(k() As Double) As Double
TensileResistance(phi As Double, Kmod As Double, fy As Double, Area As Double) As Double
Sub
TestMechDesign1()
MechDesign090.bas
Function
getFx(f As Double, theta As Double) As Double
getFy(f As Double, theta As Double) As Double
Resolve_Fx(Axial As Double, Shear As Double, beta As Double) As Double
Resolve_Fy(Axial As Double, Shear As Double, beta As Double) As Double
ProppedCantilevers.bas
Function
BM_PC1(w As Double, x As Double, L As Double) As Double
SectionProperties.bas
Function
Ixx_plate(b As Double, h As Double) As Double
Steel
SteelSection5.bas
Function
AS4100_get_bfo(Tf As Double, fy As Double) As Double
AS4100_get_Zc(z As Double, s As Double) As Double
AS4100_get_Ze(z As Double, s As Double, _
AS4100_get_Zn(z As Double, s As Double, lambda_s As Double, _
AS4100_get_Zs(z As Double, s As Double, _
AS4100_getAlpha_d(dp As Double, fy As Double, s As Double, _
AS4100_getAlpha_f(bfo As Double, Tf As Double, tw As Double, d1 As Double) As Double
AS4100_getAlpha_m(Mmax As Double, m2 As Double, M3 As Double, M4 As Double) As Double
AS4100_getAlpha_s(Ms As Double, Moa As Double) As Double
AS4100_getAlpha_v(tw As Double, dp As Double, fy As Double, s As Double, _
AS4100_getLambda_e(b As Double, t As Double, fy As Double, isCHS As Boolean) As Double
AS4100_getLambda_s(lambda_e1 As Double, lambda_e2 As Double, ByRef elem As Integer) As Double
AS4100_getLe(kt As Double, kl As Double, kr As Double, L As Double) As Double
AS4100_getMo(E As Double, G As Double, Iy As Double, J As Double, _
AS4100_getMs(fy As Double, Ze As Double) As Double
AS4100_getphiMb(phi As Double, alpha_m As Double, alpha_s As Double, Ms As Double) As Double
AS4100_getphiMs(phi As Double, fy As Double, Ze As Double) As Double
AS4100_getphiVv(phi As Double, Vv As Double) As Double
AS4100_getUnSymMo(E As Double, G As Double, Iy As Double, J As Double, _
AS4100_getVvm(Vv As Double, m As Double, phiMb As Double) As Double
SteelCFAllSections.bas
Function
get_Ae_AS4600(d As Double, Bf As Double, t As Double, _
get_Zex_AS4600(d As Double, Bf As Double, t As Double, _
SteelCFBoxSectionProp.bas
Function
get_BOX_Ae(d As Double, Bf As Double, t As Double, _
get_BOX_J(a As Double, b As Double, t1 As Double, t2 As Double) As Double
get_BOX_Zex(d As Double, Bf As Double, t As Double, _
Sub
BOX_checkWeb(d As Double, d1 As Double, ri As Double, t As Double, _
BOX_CompressionFlange(Bf As Double, ri As Double, t As Double, _
BOX_CornerFillet(d As Double, ri As Double, t As Double)
BOX_FullyEffective_Web(d As Double, ri As Double, t As Double, d1 As
BOX_TensionFlange(Bf As Double, d As Double, ri As Double, t As Doub
BOX_test()
BOXSection_Prop(d As Double, Bf As Double, t As Double, _
Calc_BOX_Zex(ns As Integer, t As Double, ycg As Double, Ixx As Doubl
SteelCFCSectionProp.bas
Function
get_Ae(d As Double, Bf As Double, t As Double, _
get_Zex(d As Double, Bf As Double, t As Double, _
Sub
AS4100_getVw(fy As Double, Ae As Double, isCHS As Boolean) As Double
AS4100_HasFullLateralRestraint(L As Double, Beta_m As Double, _
GetSlenderElement(lambda_e1 As Double, lambda_e2 As Double) As Integer
IsCompact(lambda_s As Double, lambda_sp As Double) As Boolean
IsNonCompact(lambda_s As Double, lambda_sp As Double, lambda_sy) As Boolean
IsSlender(lambda_s As Double, lambda_sy) As Boolean
IsTransverseStiffenedWebOk(t As Double, s As Double, d1 As Double, fy As Double) As Boolean
IsUnstiffenedWebOk(t As Double, d1 As Double, fy As Double) As Boolean
SteelSection6.bas
Function
AS4100_get_be(b As Double, lambda_ey As Double, lambda_e As Double, ElementType As Integer) As Double
AS4100_get_kf(Ae As Double, Ag As Double) As Double
AS4100_get_lambda_e(b As Double, t As Double, fy As Double, ElementType As Integer) As Double
AS4100_get_Le(ke As Double, L As Double) As Double
AS4100_get_Nc(alpha_c As Double, ns As Double)
AS4100_get_Ns(kf As Double, An As Double, fy As Double)
SteelSection633.bas
Function
AS4100_get_Alpha_a(lambda_n As Double) As Double
AS4100_get_Alpha_c(xi As Double, lambda As Double) As Double
AS4100_get_eta(lambda As Double) As Double
AS4100_get_lambda(lambda_n As Double, alpha_a As Double, alpha_b As Double) As Double
AS4100_get_lambda_n(le As Double, r As Double, kf As Double, fy As Double) As Double
AS4100_get_xi(lambda As Double, eta As Double) As Double
SteelSection7AxialTension.bas
Function
AS4100_getNt(Ag As Double, An As Double, _
SteelStructSections.bas
Function
ElementEffectiveWidth(SectionType As Integer, b As Double, _
getElasticityLimit(PlateElementType As Integer, _
getNumberOfEdgesSupported(SectElement As Integer, _
getPlasticityLimit(PlateElementType As Integer, _
getPlateElementType(SectionType As Integer) As Integer
getSectionDescrCode(code As Integer) As String
getSectionType(section As String)
getStressGradientState(SectElement As Integer, SectionType As Integer, axis As String) As Integer
isSectionCHS(section As String) As Boolean
isSectionRHS(section As String) As Boolean
isSectionSHS(section As String) As Boolean
isSectionUB(section As String) As Boolean
isSectionUC(section As String) As Boolean
Sub
LoadSectionCodes()
Strings
xstring.bas
Function
FmtAcadPath(fPath As String) As String
fnDir(fPath As String) As String
fnDrv(fPath As String) As String
fnExt(fPath As String) As String
fnmerge(fPath As String, drv As String, fdir As String, fname As String, fext As String) As String
fnName(fPath As String) As String
fnName2(fPath As String) As String
strchr(s As String, c As String) As Integer
StrLen(s As String) As Integer
StrLPad(s As String, lStr As Integer) As String
StrLPadc(s As String, lStr As Integer, c As String) As String
strlwr(s As String) As String
StrNset(s As String, ch As String, n As Integer) As String
StrRChr(s As String, c As String) As Integer
StrRPad(s As String, lStr As Integer) As String
StrRPadc(s As String, lStr As Integer, c As String) As String
strupr(s As String) As String
substr(s As String, sp As Integer, L As Integer) As String
Sub
fnsplit(fPath As String, drv As String, fdir As String, fname As Str
fnsplit2(fPath As String, drv As String, fdir As String, fname As St
xStrLib.bas
Function
isAlnum(ch As String) As Boolean
isAlpha(ch As String) As Boolean
isCntrl(ch As String) As Boolean
isDigit(ch As String) As Boolean
isLower(ch As String) As Boolean
isPrint(ch As String) As Boolean
isPunct(ch As String) As Boolean
isSpace(ch As String) As Boolean
isUpper(ch As String) As Boolean
xStrLib2.bas
Function
isNumber(s As String) As Boolean
Structure
Structure11.bas
Sub
ConnectMtrlDB(ByRef dbs As Database, ByRef tbl As Recordset)
DisplayMaterial(m As TStructMATERIAL)
DisplaySectProp(s As String)
DisplaySectProp2(m As TStructMEMBER)
getSectProp(tbl As Recordset, ByRef m As TStructMEMBER, s As String)
MyTest()
Timber
TimberDesign001.bas
Function
Get_G_41(lb As Double, Sc As Double, Eb As Double, Ec As Double, Ib As Double, Ic As Double) As Double
Get_G_42(lb As Double, Sc As Double, Eb As Double, Ec As Double, Ib As Double, Ic As Double) As Double
Get_G_43(lb As Double, Sc As Double, Eb As Double, Ec As Double, Ib As Double, Ic As Double) As Double
Flex_Capacity(fb As Double, Zx As Double) As Double
Get_Axial_FLR(db As Double) As Double
Get_Axial_k12(beff As Double, bact As Double, length As Double, Leff As Double, g13 As Double, rhoc As Double) As Double
Get_Flex_FLR(db As Double, bb As Double, rhob As Double) As Double
Get_Flex_k12(db As Double, bb As Double, Lay As Double, rhob As Double, resflng As String) As Double
Get_Iy_comp(Iy As Double, Aspar As Double, hz As Double) As Double
Get_k11(db As Double) As Double
Get_SpacedColumn_k12(g13 As Double, g28 As Double, Ac As Double, Ic As Double, Lc As Double, rhoc As Double) As Double
S1_Compression(db As Double, bb As Double, Lay As Double) As Double
S1_Continuous(db As Double, bb As Double, Lay As Double, resflng As String) As Double
S1_Tension(db As Double, bb As Double, Lay As Double) As Double
S1_TorsRest(db As Double, bb As Double, Lar As Double) As Double
5_SpacedColumn(g13 As Double, g28 As Double, Ac As Double, Ic As Double, Lc As Double) As Double
Strut_Capacity(fc As Double, ax As Double) As Double
Tie_Capacity(ft As Double, At As Double) As Double
TimberDesign002.bas
Function
Slenderness_S1(d As Double, b As Double, La As Double, _
Slenderness_S2(d As Double, b As Double, Lay As Double, DesignCase As Integer) As Double
Slenderness_S3(d As Double, _
Slenderness_S4(d As Double, b As Double, _
Stability_k12(rho_b As Double, s1 As Double) As Double
Stability_k12C(rho_c As Double, s As Double) As Double
Timber_Bearing(phi As Double, k1 As Double, k4 As Double, k6 As Double, _
Timber_k11(d As Double, DesignCase As Integer, V As Double) As Double
Timber_phiM(phi As Double, k1 As Double, _
Timber_phiNc(phi As Double, k1 As Double, k4 As Double, k6 As Double, _
Timber_phiNt(phi As Double, k1 As Double, k4 As Double, k6 As Double, _
Timber_phiV(phi As Double, k1 As Double, k4 As Double, k6 As Double, _
Timber_rho_b(E As Double, fb As Double, r As Double, _
Timber_rho_c(E As Double, fc As Double, r As Double, _
TimberDesign003.bas
Function
NailedJoint_phiMj(phi As Double, k1 As Double, k13 As Double, _
NailedJoint_phiNj(phi As Double, k1 As Double, k13 As Double, _
NailedJoint_phiNjaxial(phi As Double, k13 As Double, _
TimberDesign004.bas
Function
ScrewedJoint_phiNj(phi As Double, k1 As Double, k13 As Double, _
ScrewedJoint_phiNjaxial(phi As Double, k13 As Double, _
TimberDesign005.bas
Function
BoltedJoint_phiNj(phi As Double, k1 As Double, _
BoltedJoint_phiNjaxial(phi As Double, _
get_Qkl(fcj As Double, t As Double, d As Double, JointGroup As String) As Double
get_Qkp(fpj As Double, t As Double, d As Double, JointGroup As String) As Double
Hankinson_Qsk(Qskl As Double, Qskp As Double, theta As Double) As Double
Timber_beff(t1 As Double, t2 As Double, DesignCase As Integer) As Double
TimberDesign006.bas
Function
Timber_k17(Nrows As Double, isSeasoned As Boolean) As Double
Timber_k17Bolts(Nrows As Double, isSeasoned As Boolean, _
Wind Actions
Fabric1.bas
Function
eqLCp(k As Double, Cpe As Double, Cpi As Double, L As Double, b As Double, _
LoadActionsWind001.bas
Function
FindHght(HghtTbl As Variant, MinHght As Double, MaxHght As Double, hght As Double) As Integer
FindTC(TCat As Double) As Integer
get_b(theta As Double, BldSpan As Double, BldLen As Double) As Double
get_d(theta As Double, BldSpan As Double, BldLen As Double) As Double
Get_Dist_a(ht As Double, BldSpan As Double, BldLen As Double) As Double
get_h(theta As Double, alpha As Double, He As Double, ht As Double) As Double
Get_Ka(Trib_Area As Double) As Double
get_Qz(V As Double) As Double
get_Vp(Rgn As String) As Double
get_Vs(Rgn As String) As Double
get_Vu(Rgn As String) As Double
get_Vz(V As Double, Mzcat As Double, Ms As Double, Mt As Double, Mi As Double, Md As Double, state As Integer) As Double
getDistToLoad(dwe As Double, h As Double) As Double
getMzcat(ByVal WindRegion As String, ByVal hght As Double, ByVal TCat As Double, ByVal Interpolate As Boolean) As Double
getPressureLimit(Limit As Integer) As String
getRgnMzCat(MzcatTbl As Variant, HghtTbl As Variant, MinHght As Double, MaxHght As Double, hght As Double, TCat As Double, Interpolate As Boolean) As Double
LmtState_ndx(LmtState As String) As Integer
Region_ndx(Rgn As String) As Integer
TCatStr(TCat As Double) As String
TCatVal(TCatStr As String) As Double
LoadActionsWind002.bas
Function
getMaxInSector(dataList As Range, sectorStart As Double, sectorEnd As Double, row_index_num As Integer, alternateValue As Double) As Double
LoadActionsWindBuilding.bas
Function
getBuildingCpe(theta As Double, alpha As Double, He As Double, ht As Double, _
getBuildingKa(theta As Double, TAreaRafter As Double, TAreaColumn As Double, IsWall As Boolean) As Double
getRoofCpe(theta1 As Double, alpha As Double, He As Double, ht As Double, _
getWallCpe(theta1 As Double, alpha As Double, He As Double, ht As Double, _
LoadActionsWindBuilding000.bas
Function
Find_HDRatio(h As Double, d As Double, Limit As Integer) As Integer
FindAlpha(alpha As Double, Limit As Integer) As Integer
FindAlpha2(alpha As Double) As Integer
Get_Cpe_D(theta As Double, alpha As Double, He As Double, _
Get_Cpe_L(theta As Double, alpha As Double, He As Double, ht As Double, BldSpan As Double, BldLen As Double) As Double
Get_Cpe_S(theta As Double, alpha As Double, He As Double, ht As Double, dwe As Double) As Double
Get_Cpe_U(theta1 As Double, alpha As Double, He As Double, ht As Double, _
Get_Cpe_UD(theta As Double, alpha As Double, He As Double, ht As Double, _
Get_Cpe_W(h As Double) As Double
LoadActionsWindBuilding1.bas
Function
BuildingCpeRoof(theta As Double, alpha As Double, _
LoadActionsWindCanopies000.bas
Function
CanopyCp(theta As Double, alpha As Double, h As Double, d As Double, _
LoadActionsWindCanopies001.bas
Function
get_Cpl(theta As Double, alpha As Double, h As Double, d As Double, _
get_Cpn3(theta As Double, alpha As Double, h As Double, d As Double, _
get_Cpw(theta As Double, alpha As Double, h As Double, d As Double, _
getCanopy_Cpn(theta As Double, alpha As Double, h As Double, d As Double, _
LoadActionsWindCanopies002.bas
Function
get_Cpn(theta As Double, h As Double, hc As Double, wc As Double, Limit As Integer) As Double
get_Cpn1(theta As Double, h As Double, hc As Double, wc As Double, Limit As Integer) As Double
get_Cpn2(theta As Double, h As Double, hc As Double, wc As Double, Limit As Integer) As Double
LoadActionsWindCanopies003.bas
Function
get_Cpl2(theta As Double, alpha As Double, h As Double, d As Double, state As Integer, Limit As Integer) As Double
get_Cpw2(theta As Double, alpha As Double, h As Double, d As Double, state As Integer, Limit As Integer) As Double
getPitchedCanopy_Cp(theta As Double, alpha As Double, h As Double, d As Double, _
LoadActionsWindDistributedLoads.bas
Sub
DisplayUDLtable(ndx() As Integer, dwe() As Double, Cp() As Double, a
InitialiseUDL(ndx() As Integer, w() As Double, a() As Double, b() As
SetDwe(He As Double, halfwdth As Double, BldSpan As Double, dwe() As
LoadActionsWindDistribution2.bas
Sub
SteppedLoadst0(alpha As Double, He As Double, _
Calc_Zex(ns As Integer, t As Double, ycg As Double, Ixx As Double, Z
checkWeb(d As Double, d1 As Double, ri As Double, t As Double, _
CompressionFlange(Bf As Double, ri As Double, t As Double, _
CompressionLip(dL As Double, ri As Double, t As Double, _
CornerFillet(d As Double, ri As Double, t As Double)
CSection_Prop(d As Double, Bf As Double, t As Double, _
FullyEffective_Web(d As Double, ri As Double, t As Double, d1 As Dou
ReducedCompressionLip(ri As Double, t As Double, ds As Double)
TensionFlange(Bf As Double, d As Double, ri As Double, t As Double)
TensionLip(d As Double, dL As Double, ri As Double, t As Double)
test()
SteelCFDesign.bas
Function
AS4600_Msxf(SectionName As String, _
AS4600_Ne(E As Double, SectionName As String, _
AS4600_phiMb(E As Double, G As Double, SectionName As String, _
AS4600_phiMs(E As Double, SectionName As String, _
AS4600_phiNc(E As Double, G As Double, SectionName As String, _
AS4600_phiNs(E As Double, G As Double, SectionName As String, _
AS4600_phiNt(SectionName As String, phi As Double, _
Sub
getBuiltUpSectProp(tbl As Recordset, ByRef m As TStructMEMBER, s As
LoadActionsWindDrag.bas
Function
Drag_Cfig(L As Double, b As Double, Kar As Double, _
getWind_Kar(L As Double, b As Double) As Double
LoadActionsWindEquivUDL.bas
Function
equivUDL0(alpha As Double, He As Double, _
equivUDL0m(alpha As Double, He As Double, _
LoadActionsWindEquivWind1.bas
Function
EquivUDL90(alpha As Double, He As Double, ht As Double, _
getDistToLoad(dwe As Double, h As Double) As Double
Sub
EquivUDL90test()
LoadActionsWindSkillion.bas
Function
equivUDL0m2(theta As Double, alpha As Double, He As Double, _
LoadActionsWindTable00.bas
Sub
SetWindTables00()
LoadActionsWindTable01.bas
Sub
SetWindSpeedTables()
LoadActionsWindTable02.bas
Sub
SetWindDirectionTables()
LoadActionsWindTable03.bas
Function
CalcV_SiteBeta(Vr As Double, Mzcat As Double, Ms As Double, _
get_Md(Rgn As String, directn As String) As Double
get_Vregional(Rgn As String, ReturnPeriod As Double) As Double
getDirectnIndex(directn As String) As Integer
getReturnPeriod(LimitState As Integer, ImportanceLevel As Integer) As Double
getRgnIndex(Rgn As String) As Integer
getV_theta(theta As Double)
HlookupG(WrkBk As String, Sht As String, DtaLst As String, _
Sub
set_Md()
LoadActionsWindTable04.bas
Sub
LoadTable2()
LoadTables1()
WriteTable2()
Function
IsMemberStableEnough() As Boolean
IsMemberStrongEnough() As Boolean
IsSectionStableEnough() As Boolean
IsSectionStrongEnough(N_star As Double, phiNc As Double) As Boolean
Cold-Formed Steel
SteelCFDesign3.bas
Function
getDesignSection(BM As Double, Lex As Double, Ley As Double, Lez As Double, _
SteelCFLippedIBeam.bas
Function
get_LippedIBeam_Iw(Iy As Double, a As Double, _
SteelCFSect2.bas
Function
AS4600_ka(dL As Double, b As Double) As Double
effectiveWidth(b As Double, rho As Double, chi As Double, _
get_be(b As Double, lambda As Double, rho As Double) As Double
get_C2(I_s As Double, Ia As Double) As Double
get_ds(dse As Double, C2 As Double) As Double
get_Ia(b As Double, t As Double, ku As Double, s As Double) As Double
get_k_EdgeStiffened(b As Double, t As Double, s As Double, ka As Double, C2 As Double) As Double
get_k_unStiffened(chi As Double) As Double
get_lambda(k As Double, b As Double, t As Double, f As Double, E As Double) As Double
get_Rho(lambda As Double) As Double
get_S(E As Double, f As Double) As Double
PlateBucklingCoeff_k(b As Double, chi As Double, _
Sub
EdgeStiffenedElement(b As Double, t As Double, dL As Double, _
SteelCFSect3.bas
Function
get_Fo(E As Double, le As Double, r As Double) As Double
get_Foz(E As Double, G As Double, J As Double, Iw As Double, Lez As Double, a As Double, r01 As Double) As Double
get_Le(L As Double, ke As Double) As Double
get_ro1(rx As Double, ry As Double, xo As Double, yo As Double) As Double
get_SR(le As Double, k As Double) As Double
SteelCFSect3AxialCompression.bas
Function
Euler_Pcr(c As Double, E As Double, i As Double, L As Double) As Double
get_Beta(xo As Double, r01 As Double) As Double
get_fc(Mc As Double, Zx As Double) As Double
get_fn(lambda_c As Double, fy As Double) As Double
get_foc(E As Double, le As Double, r As Double) As Double
get_foc2(foz As Double, fox As Double) As Double
get_foc3(beta As Double, foz As Double, fox As Double) As Double
get_lambda_c(fy As Double, foc As Double) As Double
get_MINfoc(fox As Double, foy As Double, foc3 As Double) As Double
get_Nc(Ae As Double, fn As Double) As Double
get_Ns(Ae As Double, fy As Double) As Double
get_phiNc(E As Double, G As Double, fy As Double, _
get_phiNd(phi As Double, ns As Double, nc As Double) As Double
get_phiNs(E As Double, G As Double, fy As Double, _
SteelCFSect3AxialTension.bas
Function
get_Nt(Ag As Double, fy As Double, fu As Double, An As Double, kt As Double) As Double
SteelCFSect3Bending.bas
Function
get_Cb(Mmax As Double, M3 As Double, M4 As Double, M5 As Double) As Double
get_Cm(m1 As Double, m2 As Double) As Double
get_lambda_b(My As Double, Mo As Double) As Double
get_Mb(Zc As Double, Mc As Double, Zf As Double) As Double
get_Mc(lambda_b As Double, My As Double) As Double
get_Mc_CZ(lambda_b As Double, My As Double) As Double
get_Mo(cb As Double, a As Double, r01 As Double, foy As Double, foz As Double) As Double
get_Mo_for_CZ(E As Double, Cm As Double, Iy As Double, Iw As Double, L As Double) As Double
get_Mo_for_psZs(E As Double, cb As Double, d As Double, Iyc As Double, L As Double) As Double
get_Mo1(Cs As Double, Cm As Double, a As Double, r01 As Double, Beta_y As Double, fox As Double, foz As Double) As Double
get_Ms(Ze As Double, fy As Double) As Double
get_My(Zf As Double, fy As Double) As Double
get_phiMb(E As Double, G As Double, fy As Double, _
get_phiMs(d As Double, Bf As Double, t As Double, _
getMb( _
SteelCFSect3Combined.bas
Function
get_alpha_nx(n As Double, Ne As Double) As Double
SteelCFSect3Webs.bas
Function
getBearing(fy As Double, d1 As Double, tw As Double, ri As Double, _
getC2(ri As Double, tw As Double) As Double
getC4(ri As Double, t As Double) As Double
getC5(k As Double) As Double
getC7(d1 As Double, tw As Double) As Double
getC8(d1 As Double, tw As Double, k As Double) As Double
getShear(E As Double, fy As Double, d1 As Double, tw As Double, a As Double) As Double
IsBendingShearOk(m As Double, Mcap As Double, V As Double, Vcap As Double, AsTransverseStiffeners As Boolean) As Boolean
SteelCFSect5Connections1.bas
Function
AS4600_BoltBearing(fy As Double, fu As Double, df As Double, _
AS4600_BoltTearOut(fy As Double, fu As Double, _
AS4600_NetSectionTension(fy As Double, fu As Double, df As Double, _
getEdgeDist(edgeDist As Double, df As Double, isForHoles As Boolean)
SteelCFSect5Connections2.bas
Function
AS4600_NetSectionTensionScrews(fy As Double, fu As Double, df As Double, _
AS4600_ScrewTension(fu1 As Double, fu2 As Double, df As Double, dw As Double, _
AS4600_ScrewTiltingBearing(fu1 As Double, fu2 As Double, df As Double, _
SteelCFUnLippedChannel.bas
Function
get_CHANNEL_Zex(d As Double, Bf As Double, t As Double, _
Database
xdbUtility2013.bas
Function
MtrlDB()
Debugging
DBGCleaner.bas
Sub
CleanUP()
DBGGeneral.bas
Sub
DisplayAbout()
SayNotYet()
DBGLogger.bas
Sub
CloseLogFile()
SetLogFile(fn As String)
DBGScreenTracer.bas
Sub
TraceFunction(s As String, state As Integer, FuncLevel As Integer, i
DBGScreenTracer1.bas
Sub
TraceFunction(s As String, state As Integer, FuncLevel As Integer, i
DBGTracer.bas
Sub
CloseTraceFile()
SetMytracer(state As Boolean)
SetMyTracerOFF()
SetMyTracerON()
SetTraceFile()
DBGTracerWorkBook.bas
Sub
IncTracerCol()
IncTracerCounters()
IncTracerRow()
SetTraceWrkBk(TracerNewBook As Boolean)
WriteCellTracer(r As Integer, c As Integer, V As Variant)
WritelnTracer(V As Variant)
WriteVarTracer(s As String, V As Variant)
WriteVarUnitsTracer(s As String, V As Variant, u As String)


NB: Some of the functions replicate those which are available in MS Excel but not available in vba. Since I want my vba code portal between MS Excel and MS Access and any other applications I may use, without having to use the Excel Application object to call worksheet functions, I have written the code in vba. I also recently read a few blogs and forum discussions indicating that calling the Excel worksheet functions in vba may be slower than writing a vba routine: depending on what you intend on doing.

Revised: Slightly improved by bringing data into MS Access, sorting, creating a grouped report then exporting to html. Unfortunately it exported to multiple pages, when I combined all the html file's it got slightly scrambled. I otherwise formatted some of the cells using Visual Studio 2005. {Yeh! I know, I ain't up to date with any software.}