Showing posts with label CADD. Show all posts
Showing posts with label CADD. 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, November 24, 2012

Automated Drawing List Update Acad LT (revised)

As indicated in earlier posts I use Acad LT, and automate using Excel/vba to generate AutoCAD script (.scr) file.

One of the most regularly used scripts is that for updating the drawing title blocks. This operates across multiple paperspace layouts and multiple files.

Whilst paperspace layouts can be beneficial they do have some disadvantages when it comes to repetitive detail across projects, consequently I have been tending to move back towards individual file for each drawing sheet, and lots of xref's, especially for workshop details. For example it is a lot easier to copy a file, and modify the detail, than messing around copying detail modifying and setting up new paperspace viewports. Other times it may be easier to copy layouts, and add some extra layers for some additional detail. Hence need to update drawing title blocks across multiple layouts and drawing files.

Last year I made a simple modifications, by writing the script file to a common default folder, and automatically launching Acad LT, compared to previously generating script in drawing folder and then dropping in Acad LT editor. At that time also added extra worksheets to allow different title blocks, to cover common variations: such as calc's sheets used for simple sketches, versus drawing sheet used for residential footings, and the typical drawing sheet for all other project types. To do that I also added look up tables which listed the attributes for each title block. Providing drop down lists to select which of drawings the title block script should be generated for. That was all working good, and saved a little bit of extra time over the previous version of the script.

But work shop detailing involves a lot of drawings and tend to get slightly lost in all the drawings. Also the batch of drawings did use two title blocks: proper drawing sheet and frame for the main part details and then a simple document control block for some steel sheet setouts. The current project however introduced the need for a larger sheet. Most part details are standard and on A4 sheets, but the larger building currently working on as parts which are too large to conveniently fit on A4, I can squeeze them onto A4, but have chosen to place on A3 instead.

So for the batch of drawings have three different title blocks which want to automatically update, and a problem working through all the files and details, to determine which exist and which are relevant.

So modified the Excel/vba script. It now permits each drawing to have a unique title block, on condition that it has attributes which belong to a common sets. The vba macro now checks if the attributes are in the title block, if so then writes the value from Excel to the Acad script (.scr), if not then skips to next attribute. Also the macro now checks if the drawing file exists before including in the script, if not then the cell is coloured red.

At one stage I also experimented with Hyperlinks to open the Acad drawing files from Excel worksheet, this didn't work to well because of need to keep paths updated. But now created a vba macro and short cut key (Ctrl-e), to open drawing file currently selected in the worksheet. This didn't work too well using the vba shell command as it opened each drawing in a separate instance of Acad LT. However a simple experiment with vbs, and determined that the windows scripting host (WSH), shell object run command was able to open files by association, whilst the vba shell command required the executable command. That is using vba I needed to build correct command line including reference to Acad LT as well as file name, whilst using WSH shell command only need to pass the drawing file reference. Therefore created a WScript.Shell object in Excel/vba.

So I can now get from Excel description of drawing file, to the actual Acad LT drawing. Now that is something I wanted to do for a while.

For now have potential to mesh my bill of materials (BoM), or product structure tree to workshop details, and otherwise build model in Excel. For can otherwise get lost figuring out which part files belongs to which part, and have I drawn all the necessary parts and counted them all. Sure I could buy building information model (BIM) software, but where's the fun in that. Plus BIM software is expensive and I don't have the demand for workshop detailing to justify its purchase. Programming, well that's just kind of play time.

I had experimented with XYplorer, attaching tags to part drawings, but problem with that, I need two sets of tags: one for local work on laptop, and another for files on shared drive in office. Additionally adding tags to files, produces an ever increasing database of tags which have to be scanned through. By using Excel tables, I am not adding to over head of using XYplorer, and I can add data fields as I choose on an as needs basis, sort and filter and otherwise connect to other data sources.

On BIM
One other objection I have to BIM, is that it is an enforced approach to building design, and that approach is built around 3D graphics, whilst the majority of people in the supply chain have no use of 3D graphics. Revisiting the concept of data as raw material, and information as data organised to assist decision and action, then the typical BIM software application, is a long way from being an information model. It is largely a data model BDM, and less than informative to other parties who don't want the graphics but do want to get at the data and present in formats which suit them, rather than formats that suit the authors and or users of  3D graphic software.

Consider that it is inappropriate to use a multi-million dollar flexible machining centre to make bolts and other high volume repetitive parts. It is preferable to have highly specialised machines to make bolts. The current BIM software tends towards being highly flexible, that makes it ill suited to more specialised purposes.

It is a common trend in software development that more and more features and flexibility are added, the problem is that something which previously took a few clicks now requires a multitude of irrelevant parameters to be set.

For example the modification I have just made to my spreadsheet, now requires I define the title block for each and every drawing, where as previously I only needed to identify the title block once. However, it is not a major problem because it is simple to copy cells in Excel, or to make one cell equal to another. It is that reason why I type project titles and drawing titles into Excel rather than directly into Acad.

By making software too flexible it then becomes necessary to expend time customising the software for something more specific and repetitive. The problem of creating a front end, to simplify input, is that there is a lot of over head associated with the flexibility. So whilst using an advanced flexible system may reduce development time, it does not produce a tool which is efficient. The resultant product uses more resources than necessary and operates slower than required.

Hence there is a need for custom tools. So comments like if not using the newest tools then behind the times, are largely nonsense. Should not be using the newest tools, but the tools most appropriate to the job at hand. A lot of modern software is becoming more video game than productive tool, whilst it may ease people getting familiar with the software and using, its not all that productive there after.

So some of these high end software vendors really need to pay more attention to the needs of the end-users rather than how they consider design and documentation should be carried out. There are still people producing workshop details freehand, and buildings plans freehand, that is people who are not using any form of drawing instruments and not drawing to scale: they produce simple concept sketches and that is all they need to get approval and to build. Drawing is a tool to solve problems, and many of those problems only need resolving by freehand concept sketches. So builders for example are not going to start using CAD, because drawing is not their business, they produce drawings as an aid, a means to an end. Whilst many modern architects, engineers and drafters are producing drawings as an end in itself: more concerned with document control than what is conveyed by the documents.

End-users buying BIM software also need to pay more attention to where they need productivity improvements. If 3D graphics contributes little value to an end-users activities then current array of BIM products probably of little value. That is do you really need a picture of an object to input all the other data and extract useful information about that object. If not then BIM is not a suitable solution, and other software likely to be more useful. For example MS Excel/ MS Access, or the array of MRP I, MRP II, software and various other specialist packages.

I go from Excel to Acad, because with Acad scripts (.scr) I can only really generate Acad drawings, there is little that I can do to extract Acad data other than extract block attributes, or export a DXF file, and extract data from that.

The first data for most things is symbolic, some kind of analogy, this then has to be expanded into graphics and other data. For example want a building or a machine. These are word symbols and not very specific, the definition thus has to be  refined until define something specific. This refinement can take place using more words, various kinds of charts and diagrams, or using pictorial graphics. Much can be done long before any graphics are produced, but seems in the modern world consultants dive straight into CAD drawings, when should have dismissed an idea almost immediately using simple freehand sketches.

A crazy world in which it seems only typed reports and CAD drawings seem to be accepted. Very wasteful.


Related Posts:

AutoCAD Speed Test
Automated Drawing List Update Acad LT (revised)

Cold-Formed Steel Shed Industry: part:#1 (Shed Framing Drawings)
Cold-Formed Steel Shed Industry: part:#2 (Shed Framing Drawings)


Sunday, October 16, 2011

Programming/Automating #Autocad LT


As far as I am aware the main reasons for opting for the full version of Acad are:

1) AutoLISP
2) COM automation
3) Database connectivity and SQL
4) Extended data
5) Complex entities/objects, 3D and otherwise

The seemingly most dominant reason that full Acad is chosen is because it is programmable through AutoLISP. The common myth is that AutoLISP is required to program AutoCAD. Since AcadLT does not have AutoLISP it is not programmable or customisable. Wrong!

AcadLT can be customised and its is programmable without any tricks or add-in LISP engines. Forget about the pretty toolbars, AutoCAD has a command langauge, and supports script files for those commands. The command language and script support is not as powerful as that in say the old DBase II/III, but it is none the less available.

The common criticism aimed at scripting is that it cannot do anything. For example to draw a line, the script would be:

Line 0,0 1000,1000

where as in AutoLISP it would be:

(command "line" pt1 pt2 "")

Where pt1 and pt2 can have any coordinates desired, thus the AutoLISP script can draw different lines, whilst the command script can only draw one line. However, the AutoLISP script is part of a much larger program which determines the values of pt1 and pt2, and instead of sending instructions to the Acad command line, it could equally well write the instructions to a file as follows:

(write-line (strcat "LINE " (ptstr pt1) " " (ptStr pt2) " ") fp)

Where (ptstr) is a user written function to convert the point coordinate lists to text strings, which can be written to a file (fp). The resultant plain text file can then be excuted from within Acad or Acad LT via the run script command. For simplified usage the script can always be written to the same location and file, such as default.scr, and this script can be executed from either a menu macro or toolbar button: once again in either Acad or Acad LT.

'_script default.scr 

Now such plain text files containing Acad command line instructions can be generated by any available programming language. On old MS DOS machines the most readily available programming language was GWBASIC, but other high level programming languages like Turbo Pascal and Turbo C may have been available. In the world of Windows XP and higher, every machine has available windows scripting host and can run VBscript or JScript.

For example in VBscript, can replace the AutoLISP instruction with:

fp.WriteLine("LINE " & ptStr(x1,y1) & " " & ptStr(x2,y2) & " ")

However most offices have MS Excel installed on most machines, and a few may have access to MS Access, in which case vba can be used to generate scripts. Script instructions can be generated in an Excel worksheet then copy/pasted into a text file, and run by the script command, alternatively the instructions can be pasted directly to the Acad LT command line. Similarly queries in MS Access can be used to generate a sequence of script commands either pasted to a file or direct to the Acad Lt command line. This approach is useful when converting simple data into graphics.

Example of Coldformed steel section generated from script pasted to Acad command line, from Excel worksheet. Worksheet can be found here.

For more advanced automation Excel/vba combination provides the means of collecting input in the worksheet and then writing a script file based on this worksheet data. In vba the typical script would be something like:


Print #fp, "LINE " & ptStr(pt1) & " " & ptStr(pt2) & " "

Where pt1 and pt2 are coordinates stored in a data structure as follows:

Public Type TCoord
  x As Double
  y As Double
  z As Double
End Type

To avoid keep writing the instructions for a line the following subroutine can be defined and used.

Public Sub write_line(fp As Integer, pt1 As TCoord, pt2 As TCoord)
  Print #fp, "LINE " & ptStr(pt1) & " " & ptStr(pt2) & " "
End Sub

call write_line(fp, pt1,pt2)

Similar subroutines can be written for other commonly used Acad LT commands. By building a library of such commands, it is possible to simply convert the program from one CAD package to another simply by rewriting the library to suit the CAD package. That is the main program written uses the users own subroutines and data structures, and should never need rewriting, but the library can be converted to use the data structures, objects and methods of a chosen CAD package. For example write libraries for scripts, DXF, Acad COM automation, TurboCAD, DesignCAD, MultiFrame, even the Excel shapes layer.

Now the problem with the script is it cannot select Acad entities, nor points. Many AutoLISP routines simply pick a single point on the screen then generate a parametric detail about this point. Most of the time (0,0,0) is a good enough start point and a new file is the place to start drawing, therefore no point needs to be selected. By generating a new file, and using xref to reference this file into the primary drawing, interaction with the Acad drawing editor can be minimised. Unless using handles and links to an external data base it is seldom necessary to modify entities. The primary objective is to automate drawing production, not interact with the drawing editor. If a full set of drawings for some parametric object can be generated in a few seconds there is no need to revise or modify the previous: simply regenerate using the modified parameters. Further more if critical parameters start out in Excel and are used to generate a drawing, then there is no need to extract such information from the Acad drawing database.

Interaction with the drawing editor is not highly productive, nor are dialogue boxes. A common flaw with AutoLISP routines is that they have dialogue boxes collecting mutiple parameters. The number of parameters collected by these dialogue boxes exceeds the number of parameters used by engineering. The problem is that engineering calculates the other parameters, used to specify a part. Due to the division of labour between drafter and engineer: the drafter draws and the engineer crunches numbers, there is consequently a lack of integration in the design activity.

It is more productive to write the AutoLISP routines without dialogue input boxes, rather write as subroutines requiring passing of parameters. Then write additional subroutines using dialogue boxes to collect the parameters and call the routine which does the actual drawing. The reason for this is so that the drawing routine can be used in much larger drawing application. Just as machines and buildings are made from component parts, also is a drawing using blocks and xrefs, and similarly a computer program using functions and subroutines. Just as blocks simplify building large drawings, so to do subroutines simplify writing large programs.

The first use of a drawing subroutine, may be to call it from a routine using dialogue boxes to collect all the drawing parameters. A future use may collect far fewer drawing parameters and calculate the rest. But of far greater value is the potential to string multiple subroutines together in sequence to draw something much larger and more complex from a few simple parameters.
Similarly, if this can be done using AutoLISP it can equally well be done using Excel/vba and the generation of scripts. What is more without the use of Acad or Acad LT, an engineer or other designer can generate a series of scripts in a common location, these scripts are then executed by the drafter using either Acad or Acad LT.

Excel/vba can also be used to grab a list of files, either drawings (dwg), DXF and then execute a set of script commands on each of the drawings. Similarly vba can get a list of scripts, and combine them into a single script to be launched in Acad LT. An alternative approach is to execute each script one at a time by calling Acad LT with command line switches, unfortunately with Windows multitasking causes a a timing problem. It is however the approach that was taken with Acad when using MS DOS. It was the failure of my Turbo C multiScripting program in Windows using Acad LT which led me to experimenting with generating scripts using QuattroPro spreadsheet with which I could easily grab a list of file names.

To launch Acad automatically from an application and run the script call Acad using command line switches, for example.

"C:\Program Files\AutoDesk\AutoCAD LT 2000\aclt.exe" /b default.scr

This can be configured in an Excel worksheet, so that can vary CAD applications used and the script names used. More samples can be found here.

Here is some sample output generated by scripts (*.scr).


From a few parameters steel framing plans, elevations and section for simple building generated in model space and paper space, all text with exception of grids placed in paper space. The above view shows the model space 2D stick diagrams, and the lower view a close up of the framing plan.



The following was originally written using DesignCAD, generating a 3D stick diagram of a shed, but then translated to use Acad scripts and draw more detailed elevation.





Simple stick diagram above. Below, model with detailed elevation, and permitting any number of spans.




The following is a close up of the knee connection.




A limitation of Acad Lt is not being able to generate 3D elements. I have used Lights for analysing tension membranes, and whilst it generated an Acad Script file, I was unable to run the file in Acad Lt since it could not create the 3D face elements, whilst intelliCAD 2000 used a different set of parameters to draw 3D faces so the script was incompatible. I therefore modified my Acad script library to use the intelliCAD COM objects. To produce the following, which is viewed in Acad LT.


I could have written the program using scripts in intelliCAD, but I used the opportunity to try out COM automation. The program reads the results from Lights, and then shades membranes elements in tension green, and elements in compression red. It is all on layers, so the membrane can be switched off, and the tension and compression elements of the supporting cables can also be viewed.

Another use of scripting is a simplified geographical information system (GIS). The following made use of MS Access, which was used to count the number of projects in a given area: mainly a UBD map. This data was then transfered to Excel, where a vba macro further sorted the data and generated a script which inserted a block on the appropriate layer. Red blocks represent areas with most projects, and paler blue blocks represent areas with least projects.



Each square represents one map from the UBD Adelaide street directory. The vba routines translate UBD map grid references into Australian Map Grid (AMG) coordinates so that can be located in Acad by (x,y) coordinates. In addition to the coloured blocks. circles were drawn at more localised positions, with the size of circle reflecting the number of projects in the area. The reference grid on each UBD map is about 250m x 250m, so objects typically located at the centre of these grids. For many things don't require the use of a fully blown GIS, since only concerned with relative distances between locations. For example nearest neighbours and hinterlands, or catchments of common facilities like shopping centres, hospitals, business competitors. The map shows that a lot of our work is dependent on the North East Road. It doesn't show projects outside the metropolitan area spread around the state and the country, and the occasional few outside the country. For an alternative GIS can take a look at MapMaker gratis this I have experimented with to generate contours whilst in the trial period with the professional version. The contours being for soil heave, caused by reactive clay soils. We have collected lots of bore logs over 16 years, and therefore, it should be possible to produce a contour map. At the moment I don't have subroutines to generate contours, but have found routines for generating Delaunay triangles, though generating Voronoi polygons would be even better for assessment of catchment areas. This far have written Acad scripts to do the triangulation, the rest is for a future date.

Any case if automation is the primary objective, and doesn't involve creation of 3D entities, then Acad LT can be used to automate a considerable amount of 2D work, or if stick diagrams are all that is required then it can also automate 3D models.


Recommended Reading
1 Microsoft Press (1997),"Micosoft Office 97 Visual Basic Programmers Guide", Microsoft Press
2 Jim Boyce, et al (1997), "Using Microsoft Office 97 Professional: Special Edition", Que
3 George Omura (1989),"AutoCAD instant Reference", Sybex
4 C W Sharp and W W Hamm (1989),"AutoCAD Advanced Techniques",Que
5 D Raker and H Rice (1990), "Inside AutoCAD: 5th Edition (metric)",New Riders Publishing
6 J Smith and R Gesner (1989),"Customising AutoCAD: 2nd Edition",New Riders Publishing
7 J Smith and R Gesner (1989),"Inside AutoLISP",New Riders Publishing
8 George Omura (1990),"The ABC's of AutoLISP", Sybex
9 Dennis N Jump (1989), "AutoCAD Programming", TAB Professional and Reference Books
10 AutoDesk(1995),"Users Guide: AutoCAD LT Release 2 for Windows",AutoDesk
11 Acad LT on line help system.
12 Burchard, Pitzer, Soen, et al (1997), "Inside AutoCAD 14", New Riders Publishing
13 AutoDesk(1999),"Getting Started: AutoCAD LT 2000",AutoDesk

Related Posts:

AutoCAD Speed Test
Automated Drawing List Update Acad LT (revised)

Cold-Formed Steel Shed Industry: part:#1 (Shed Framing Drawings)
Cold-Formed Steel Shed Industry: part:#2 (Shed Framing Drawings)