Autocad Coordinate Lisp Free Download

>> Drop your fears at the door; love is spoken here. <<

Download POINTSIN.ZIP
Get help or contribute something

Export Coordinate of Each Vertex of the Polyline Block Lisps. Free Lisp related to AutoCAD Block: Description: 1 Insert Block at Segment Midpoint. Insert blocks at the centre of each Segment 2 Text from selected Attribute. What to download and How to Download Lisp? May 15, 2019 Download Autocad 2019; Edit Block; Download Autocad Lisp. With original coordinate of touch point. 32/64 bit with crack free download AutoCAD 2018 full. Free AutoLISP macros, routines and programs for AutoCAD, Brics CAD, ZWCAD to automate drawing preparation quickly for Infrastructure Engineering. +574 / +386 / +91-9 Company.

Autocad

Xy Coordinate Lisp, free xy coordinate lisp software downloads. Lisp-cgi-utils is a CGI library for Common Lisp.It implements a very basic HTTP/CGI interface (sending headers, getting GET/POST and environment variables) and offers tools for easier HTML generation with special support for handling HTML forms.

OVERVIEW

POINTSIN is a civil engineering and survey tool that reads point data(ID, North, East, Elevation, Description) from a fileand inserts an attributed Land Desktop(Softdesk/DCA)-style POINT blockand a 3d point in AutoCAD for every point in the file. It also has a command to create a single point.

You can change the POINT block if you prefer. The order and graphical arrangementof the attributes doesn't matter. The default POINT block attributes are one unit high.POINTSIN scales the POINT block to the dimension text height(dimscale * dimtxt), so the default POINT block will look as big as the currentdimension text height.

You can delete or comment out the lines that insert a 3d point or the POINT block.You can also comment out the lines that create and set layers.

GETTING STARTED

Download POINTSIN.LSP (save it to your computer) by following the link on this page. Also download POINT.DWG (save it to your computer) by following the link on this page or make your own POINT block. If you don't have a points data file to import, you may also want to download the sample POINTS.TXT file.

At minimum, all POINTSIN.LSP needs to work is the POINT block and points data file. Simply drag POINT.DWG from Windows Explorer into your drawing, then load and run POINTSIN.LSP by dragging it into your drawing, typing POINTSIN, and following the prompts to select the data file. That's all there is to it.

CUSTOMIZATION

LAYERS

It is a very simple matter to change layer behavior. Please open POINTSIN.LSP in NOTEPAD.EXE for guidance.

INSERTIONS

It is a very simple matter to change whether POINTSIN.LSP inserts 3dpoints, point blocks, or both. Please open POINTSIN.LSP in NOTEPAD.EXE for guidance.

FILE FORMATS

It is a very simple matter to add more file formats. If you need an unsupported file format and you aren't comfortable adding it yourself after reviewing the source code, please contact me.

ENVIRONMENTAL IMPACT STATEMENT

POINTSIN.LSP neither creates additional files nor writes to the Windows registry.

DEVELOPMENT NOTES

REVISION HISTORY

DateProgrammerRevision
20150629TGH1.0.13 Fixed bug that obeys running osnaps.
20150415TGH1.0.12 Fixed bug to allow block attributes that aren't in file. Added commented out rounding of elevation attribute per drawing LUPREC.
20140920TGH1.0.11 Implemented NCS layer names in source code and dwg.
20131010TGH1.0.10 Deactivated description layers and added alerts about options for vanilla simplicity.
20121024TGH1.0.9 Added in-code option to put blocks at 3D location.
20120912TGH1.0.8 Added user point insertion function.
20120507TGH1.0.7 Added white-space delimited formats to list. Changed scale of point.dwg. Added more sample files.
20120322TGH1.0.6 Revised logic of layer name building to work with v1.0.4 format list.
20120211TGH1.0.5 Added comments to clarify how to put blocks at their correct elevation and include NORTH and EAST in atributes. Added a block with NORTH and EAST attributes by Chris Bell.
20120122TGH1.0.4 Modified some code to improve maintainability and customizability. No functional change.
20100305TGH1.0.2 Added ability to put points on layers by description.
20061017TGH1.0 Removed reference to HAWS-ENDSTR function.
20060915TGH1.0PR.

To submit revisions, send an email with your revised code.

LICENSE TERMS

This program is free software under the terms ofthe GNU (GNU--acronym for Gnu's Not Unix--sounds like canoe)General Public License as published by the Free SoftwareFoundation, version 2 of the License.

You can redistribute this software for any fee orno fee and/or modify it in any way, but it and ANY MODIFICATIONSOR DERIVATIONS continue to be governed by the license, whichprotects the perpetual availability of the software for freedistribution and modification.

You CAN'T put this code into any proprietarypackage. Read the license.

If you improve this software, please make arevision submittal to the copyright owner at www.hawsedc.com.

This program is distributed in the hope that itwill be useful, but WITHOUT ANY WARRANTY; without even theimplied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULARPURPOSE. See the GNU General Public License on the World Wide Webfor more details.

Home | Support | FreeSoftware | Engineering Services | Engineering Calculators | Technical Documents | Blog (new in 2009) | Personal essays | Collaborative Family Trees | Contact

Please find below a list of CAD lisp routines which I have written to automate common UK road design tasks when using CAD programs such as AutoCAD or CorelCAD

These free lisp routines were tested using CorelCAD 2013 which accepts AutoLisp. Therefore I assume these lisp routines will also work on AutoCAD, but as I don't have access to AutoCAD I cannot confirm this

You're welcome to download, use, copy, amend, and adapt these files, but at your own risk. I offer no support should these routines or commands not function as you expect. However, please feel free to leave constructive comments (see foot of webpage) and suggested improvements. I've checked these files for typing mistakes, but I suspect there's still some errors I haven't found yet

Beyond the table below, each command is explained in more detail (click on the command names to scroll down this webpage)

Lisp filesCommandsDescription
CHAINAGE.LSP (right click and select 'Save target as...' to download)
Version 1.05 21-Jul-2015
(Version changes: 2D/3D point error resolved for polylines containing arcs. Text and polyline display issues resolved)
Click here to scroll down to miscellaneous notes for this lisp file
Click on the links below for an example CAD drawing on which you can try out the commands in this lisp file
CHAINAGE.DWG
CHAINAGE.PDF
CHANGENTDraws tangent marks at ends of polyline lines and arcs
CHEGMENTDraws ST and radius values alongside polyline lines and arcs
CHMARKDraws chainage marks at selected points along a polyline
CHMARKSDraws chainage marks at regular chainages along a polyline
CHXSECTDraws section lines at selected points at right angles to polyline
CHXSECTSDraws section lines at regular chainages along a polyline
CHOFFSETReturns coordinates, chainage and offset of point relative to polyline
CHOFFSETSReturns coordinates, chainages and offsets for selection of points relative to polyline
CHSETOUTReturns a polyline's setting out information (chainages, coordinates, radii etc.)
COLOURBY.LSP (right click and select 'Save target as...' to download)
Version 1.05 13-Aug-2015
(Version changes: Text display issues resolved. Colours now applied correctly to each object type. COLOURBYSLOPE command removed)
Click here to scroll down to miscellaneous notes for this lisp file
Click on the links below for an example CAD drawing on which you can try out the commands in this lisp file
COLOURBY.DWG
COLOURBY.PDF
COLOURBYXApplies colours to points according to their x coordinates
COLOURBYYApplies colours to points according to their y coordinates
COLOURBYZApplies colours to points, lines, solids or lightweight polylines according to their z coordinates
COLOURBYCHARTDraws charts of colours used in the COLOURBY commands above
COLOURBYSETEnables user to set new colour values for use in subsequent COLOURBY commands
COLOURBYRESETResets colours to default values for subsequent COLOURBY commands
PLINESWAPENDS.LSP (right click and select 'Save target as...' to download)
Version 1.00 30-Jul-2013
PLINESWAPENDSSwaps the direction in which a lightweight polyline is drawn
TOPOPROCESS.LSP (right click and select 'Save target as...' to download)
Version 1.05 13-Aug-2015
(Version changes: Text and polyline display issues resolved. TPOPSOLID options increased to replace COLOURBYSLOPE)
Click here to scroll down to miscellaneous notes for this lisp file
Click on the links below for an example CAD drawing on which you can try out the commands in this lisp file
TOPOPROCESS.DWG
TOPOPROCESS.PDF
TPOPTRIADraws 3D triangles based on a set of 3D points, boundaries and breaklines
TPOPSWAPSwaps the shared edge between two adjacent 3D triangles
TPOPGETTHINReturns the flatness ratio range for selected 3D triangles
TPOPDELTHINDeletes flat or near-flat 3D triangles (e.g. around the boundary)
TPOPSOLIDDraws 2D SOLIDs based on a set of 3D triangles and their colours
TPOPCONTDraws contour polylines based on a set of 3D triangles
TPOPCONTLABELDraws text labels of contour z value next to selected contours
TPOPSLOPEMAXDraws maximum slope values and directions on selected 3D triangles
TPOPSLOPEDIRDraws slope value at a particular point/direction on selected 3D triangles
TPOPLEVELDraws spot levels at locations picked within 3D triangles
TPOPMULZMultiplies z coordinate values of 3D points by a user-defined value
TPOPVOLReturns the volume of 3D triangles from a zero base-line
TPOPINTERSDraws polyline(s) where two sets of 3D triangles intersect
TPOPSETFUZZSets the fuzz value used by other TOPOPROCESS commands to allow for rounding errors
VCURV.LSP (right click and select 'Save target as...' to download)
Version 1.03 10-Nov-2015
(Version changes: use 2D points when creating polylines)
Click on the links below for an example CAD drawing showing the various options for drawing vertical curves using this lisp file
VCURV.DWG
VCURV.PDF
VCURVDraws vertical curves (also known as longitudinal curves or railway curves)

All the commands in CHAINAGE.LSP require a lightweight polyline as input. The file contains a useful function called PARSE_POLYLINE (near the start of the file) that converts a polyline's entity data into a list of LINE and ARC elements, including start and end points, line or arc length, and arc centre-point, radius, and start and end angles

To find an arc or circle's centre-point and radius from three points, the file uses equations derived in this PDF file (click here)

To find a point's distance along a line and offset from that line, the file uses equations derived in this PDF file (click here)

In CorelCAD lightweight polylines include the following data list set-up: (0 . LWPOLYLINE) ... (10 x y z) (42 b) (10 x y z) (42 b) (10 x y z) ... (42 0.0) where x y z = each vertex's coordinates, and b = bulge factor between vertices (= 0.0 for a straight line). There's always a zero bulge factor at the end of the list. In AutoCAD lightweight polylines points are 2D, which since Version 1.02, CHAINAGE.LSP can now process. If there are other differences with the list set-up, this might cause the commands in CHAINAGE.LSP to malfunction


Draws tangent marks at ends of polyline lines and arcs, perpendicular to the lines or arcs. Where the lines or arcs do not join tangentially, the tangent marks are at the average perpendicular angle

CHEGMENT

Draws ST (for 'STRAIGHT') and radius values alongside polyline lines and arcs. There is the option to include radius lines from arc centres to arc midpoints (as shown)

This image shows a polyline with tangent marks and ST and radius values added by these two commands

Tangent marks, text, lines etc. are drawn using the current layer, colour, linetype, text style and size


Draws chainage marks at selected points along a polyline. For example you could add chainage marks at tangent points, at junctions, or at the endpoints of polylines

CHMARKS

Draws chainage marks at regular chainages along a polyline

This image shows a polyline with regular chainage marks (every 20 units) and chainage marks at tangent points and endpoints added by these commands

There are three options for chainage mark numbering styles: n.nnn (as shown), n+nn and n+nn.nn where the + sign separates hundreds from tens and units

Normally chainages start at 0 at the start of the polyline (as in this image), but the user can set a different start chainage in these commands (and the other commands in CHAINAGE.LSP) for the start of the polyline

Chainage mark lines and text are drawn using the current layer, colour, linetype, text style and text size


Draws section lines at selected points at right angles to a polyline. For example you could add section lines at tangent points, at junctions, or at the endpoints of polylines

CHXSECTS

Draws section lines at regular chainages along a polyline

This image shows a polyline with regular section lines (every 20 units) and section lines at tangent points and endpoints added by these commands

The section line length (40 units in this image) is set by the user

Section lines are drawn using the current layer, colour and linetype


Returns coordinates, chainage and offset of individually selected coordinates relative to a polyline. The results can be displayed automatically as a group of MTEXT objects

CHOFFSETS

Returns coordinates, chainages and offsets for a selection of POINT objects relative to a polyline (the POINTS can be on or to either side of the polyline). The results can be displayed automatically as a group of MTEXT objects

This image shows a group of POINT objects either side of a polyline, and the output from the CHOFFSETS command (text in top right corner of image)

CHOFFSET is more suited when you need to select individual points, or coordinates on other objects (for example the end of a line, centre of a circle etc.)

The MTEXT objects are drawn using the current layer, colour, text style and text size


Returns a polyline's setting out information (chainages, coordinates, radii etc.) as a group of MTEXT objects

SP = start point, TP = tangent point, CP = centre-point, EP = endpoint

This image shows the MTEXT output (in the top-right corner) from this polyline. The image also shows regular chainage marks, tangent marks, and setting out ST and radius information, added using the other commands in CHAINAGE.LSP

The MTEXT objects are drawn using the current layer, colour, text style and text size



Autocad lisp tutorial

Through the use of colour, the commands in COLOURBY.LSP can help identify data trends more easily - for example high and low points from topographic survey contours, or steep and gradual slopes of a 3D design model

The commands share seven base colours which the user can easily change. Note that changing the colours will not affect existing objects in a drawing that have already had colours applied to them

Colours can be applied by value bands (dividing the minimum to maximum range equally per band), by quantity bands (dividing the total number of objects by the number of bands), by limits (above, between, below), or by intervals (for example major/minor contour levels)


Applies colours to point objects according to their x coordinates

This image shows POINTs coloured by 7 VALUE bands (i.e. the horizontal range has been divided equally into 7 bands, and POINTs are coloured according to which band they fall into)

From 2 to 7 bands of colour can be defined by value

Only the colour property of the selected point objects should change. All other properties (e.g. layer, linetype etc.) should remain unchanged


Applies colours to point objects according to their y coordinates

This image shows POINTs coloured by 7 QUANTITY bands (i.e. the total number of points has been divided equally into 7 bands, so there should be the same number of points (+/- rounding errors) in each colour band)

From 2 to 7 bands of colour can be defined by quantity

Colouring by value and quantity will produce different results if the distribution of points is uneven - for example a triangular shaped group of points - not the case in this image where the points are distributed fairly evenly

Only the colour property of the selected point objects should change. All other properties (e.g. layer, linetype etc.) should remain unchanged


Applies colours to point, line, solid, or lightweight polyline objects according to their z coordinates

This image shows lightweight POLYLINEs coloured by 7 value bands. These polylines are contours from a 3D topographical model (see TOPOPROCESS.LSP below), and colouring them makes it easier to identify the higher and lower parts of the survey

Colouring polylines by INTERVAL can also be useful to identify major and minor contours. Colouring by interval also allows different colours above/below a datum (e.g. sea level)

Only the colour property of the selected point, line or polyline objects should change. All other properties (e.g. layer, linetype etc.) should remain unchanged


This image shows SOLIDs created using the TPOPSOLID command (see below) which draws solids over 3D polyline triangles

Using COLOURBYZ to apply colours to these SOLIDs makes it easier to identify the steeper or higher (reds, oranges and yellows) and flatter or lower (greens and blues) parts of the survey. In this image the solids have been coloured by 7 quantity bands

Colouring solids by LIMIT can also be useful to identify areas which are too steep (or high) or too flat (or low). Colouring by limit uses three colours: one for too steep (or high), one for too flat (or low), and one for in between the limits


Draws charts of colours used in the other COLOURBY commands

COLOURBYSET

Enables the user to set new colour values for use in subsequent COLOURBY commands

COLOURBYRESET

Resets colours to default values for subsequent COLOURBY commands

This image shows a range of colour charts, including by LIMIT (always three colours) and by INTERVAL (always five colours).

When each chart is drawn it is accompanied by suggested text, which the user can update. When colouring by VALUE or QUANTITY, a list of band values is displayed in the command window, and this data is suitable for transfering into the text alongside colour charts

To change colours, simply amend the colours in an existing colour chart (or a copy of a colour chart), and select the whole colour chart in the COLOURBYSET command. Changes will not be applied to any existing colour charts or coloured objects. You will need to re-run COLOURBYX etc. on the objects to apply the latest colours

The vertical position of the colours determines which band each colour applies to. So, if you want to reverse the order of the colours, simply rotate the rectangles by 180 degrees, then use COLOURBYSET on the rotated rectangles to apply the reverse-order colours

Note that because the charts share seven base colours, if you change a red rectangle in one of these charts to a different colour, and then redraw all these charts, they will all show the new colour in place of the previous red rectangle



Swaps the direction in which a lightweight polyline is drawn

This can be useful for the switching the zero chainage from one end to the other of polylines used in the commands in CHAINAGE.LSP



This lisp file contains general purpose commands for processing small scale topographical surveys consisting of 3D point objects (the black crosses in this image), optional breaklines (dashed red lines in the image), and optional user-defined boundaries (blue in the image)

It's best if breaklines and boundaries link point objects within the survey area, but outside the survey area they don't need to link points (as the boundaries show in this image). Boundaries need to be closed polylines

Boundaries can also define islands within the survey area (not shown in this image)


Draws 3D triangles based on a set of 3D points, boundaries and breaklines

This command applies best-fit triangles (orange in this image) using the Delaunay triangulation algorithm, and then if any breaklines (the dashed red lines in the image) or boundaries (the blue lines in the image) are defined, the command swaps triangle so that no triangles cross the breaklines or boundaries

This command can be used without any breaklines or boundaries being defined

However, note that this command is not optimised for speed. Therefore selecting more than 50 points at one time can lead to processing times of many minutes (50 points required about 4 minutes to process on my computer). Therefore it is advisable to divide the points into smaller groups (as shown in the image) and process each group individually

Delaunay Triangulation requires finding the circle that passes through three points. TPOPTRIA uses equations derived in this PDF file (click here) to do this

TPOPTRIA and many of the other commands in TOPOPROCESS.LSP also need to check when lines cross. They use equations derived in this PDF file (click here) to do this, including when using a Ray Casting Algorithm to determine whether a point is within a polygon/boundary

The 3D triangles (closed 3DPOLYs) are drawn using the current layer, colour and linetype


Swaps the shared edge between two adjacent 3D triangles

Sometimes it may be necessary to swap the shared edge of two adjacent triangles (this image shows before/after swapping the shared edge of a pair of green triangles). This command enables the user to swap such triangles

Note that it isn't possible to swap triangles if the outline after doesn't match the outline before swapping edges

The newly swapped 3D triangles (closed 3DPOLYs) are drawn using the current layer, colour and linetype


Returns the flatness ratio range for a group of selected 3D triangles

TPOPDELTHIN

Deletes flat or near-flat 3D triangles (e.g. around the edge of a group of 3D triangles)

The ratio is the length of the longest side divided by the perpendicular distance to the opposite point. Flat (or thin) triangles can be created where three or more points are almost in line, commonly around the outside edge of a survey (the green triangles in this image)

TPOPGETTHIN can help identify if there are any hidden flat triangles (at a large scale they can appear as lines, so can go unnoticed) if (for example) the maximum ratio returned is 50 or more. In some situations triangles with lower ratios may also be unwanted

In TPOPDELTHIN there is the option to delete only flat triangles on the edge of a group of 3D triangles, as sometimes flat triangles are unavoidable (even if undesirable) within a survey


Draws 2D SOLIDs based on a set of 3D triangles, the z coordinates of each triangle, and (optionally) their colours

This command can be useful for quickly identifying where TPOPTRIA may have failed to add a triangle (i.e. created an unwanted island within the survey) (see TPOPSETFUZZ below)

The z coordinate of each solid object can be either the average z coordinate of each 3D triangle, or the maximum slope of each triangle (in percentage terms - i.e. 2.5 for 2.5% or 1 in 40)

The solid objects are drawn using the current layer and colour, unless the 3D triangles have specific colours and the user wishes to copy those colours (useful if you need to apply solid colour to a group of coloured 3D triangles)

The solids can be coloured using the COLOURBYZ (see above) command. In this image the solids have been coloured by 7 quantity bands

To find the slope value for each closed 3D polyline triangle, the command uses equations derived in this PDF file (click here)


Draws contour polylines based on a set of 3D triangles

TPOPCONTLABEL

Draws text labels of contour z value next to selected contours at selected locations

The polylines and text are drawn using the current layer, colour, linetype and text style

The contours can be coloured using the COLOURBYZ (see above) command. In this image the contours are coloured by 1.0 unit intervals with a 5.0 unit datum (i.e. red/orange major/minor contours above the datum, green on the datum, and dark blue/light blue major/minor contours below the datum)

Lisp

Draws maximum slope values and directions on selected 3D triangles

TPOPSLOPEDIR

Draws the slope value at a particular point and direction on selected 3D triangles

Where a 3D triangle is flat (i.e. all three corners have the same z value/elevation) no direction arrow is drawn

TPOPSLOPEDIR enables slopes, other than the maximum slope, to be shown in different directions

The slope text and direction arrows are drawn using the current layer, colour, linetype and text style

To find the slope/plane defined by three 3D points, the command uses equations derived in this PDF file (click here)


Autocad Coordinate Lisp free download. software

Draws spot levels at locations picked within 3D triangles

TPOPMULZ

Multiplies z coordinate values of 3D points by a user-defined value

TPOPLEVEL draws a 3D point object at the selected location, and text nearby showing the level at the selected location. The point and text are drawn using the current layer, colour and text style

If the user-defined value in TPOPMULZ is less than 1 then the z coordinate values will be reduced in magnitude


Returns the volume of 3D triangles from a zero base-line

TPOPINTERS

Draws polyline(s) where two sets of 3D triangles intersect

TPOPVOL does not calculate separate cut and fill volumes. So if the 3D triangles straddle the z=0 plane then the resulting value will be cut subtracted from fill

In order to calculate separate cut and fill volumes, use the TPOPINTERS command to identify the cut/fill boundary, then use TPOPTRIA to create new sets of 3D triangles upto this boundary, and finally use TPOPVOL twice to calculate volumes inside and then outside this boundary. For a z=0 plane create two large 3D triangles, with z=0 coordinates, enclosing the 3D triangles to be measured

TPOPINTERS requires the two sets of 3D triangles to be on different layers. For meaningful results the extent of one set of triangles should be totally enclosed within the extent of the other set of triangles (in this image the blue set of 3D triangles is completely within the orange set of 3D triangles)

TPOPINTERS draws polyline(s) along the intersection line and 3D points (both shown in green in this image) where the intersection line crosses 3D triangle edges (though not repeating existing 3D points). The polylines drawn can be closed or open depending on the 3D triangles

The polyline and points drawn by TPOPINTERS are drawn using the current layer, colour and linetype

To find the intersection of two slopes/planes defined by two 3D triangles, TPOPINTERS uses equations derived in this PDF file (click here)


Sets the fuzz value used by other TOPOPROCESS commands to allow for rounding errors

Using a 'fuzz' value enables commands in TOPOPROCESS.LSP to treat nearly equal values as equal (e.g. 0.000000000001 as 0.0). This takes into account rounding errors that occur following complex calculations

The user can set the fuzz value to 0 (i.e. no fuzz) in which case it is more likely that TPOPTRIA (for example) will not successfully draw all the required 3D triangles and will leave unwanted islands. Or the user can set the fuzz value in a range from 1 (very small) to 9 (least small)

The default value is 5, but the user may feel inclined to experiment with other values if TPOPTRIA and other commands do not behave as expected. Changing TPOPSETFUZZ only affects subsequent calls to commands. It does not affect any points, 3D triangles, solids, polylines or text already created



Draws vertical curves (also known as longitudinal curves or railway curves) either for given start and end gradients or fitted to existing lines or 2D polyline line segments, using equations derived in this PDF file (click here), for single radius or K values or for a range of radius or K values

TP (or tangent points) at each end of each curve, maximum or minimum level markers, and/or curve parameters can be shown with each curve. Curves are drawn as polylines or as blocks if additional information is shown for each curve

The horizontal step size can be specified - this affects the smoothness of the curve drawn - and vertical exaggeration can be applied to curves to assist visualisation of the proposed vertical curve

Autocad Coordinate Lisp Free Download For Windows 7



Autocad Coordinate Lisp Free Download Free

I hope to add further lisp routines and commands in the coming months. Please revisit this website later this year or early next year to see what's been added

Autocad Lisp Commands

This page was last updated on 14th November 2015