Programs and Scripts
AutoLISP, VisualLISP and VBA Programs are for use with AutoCAD software.
39 files
-
Multiline Total Length
By Jonathan Handojo
Hi guys,
This seems like it's already posted somewhere, but I'll just throw it out here anyway. This code allows you to calculate the total lengths of multilines segregated by their multiline size/scale.
In order to use the attached LISP code, initiate the APPLOAD command from AutoCAD, and load this file. Once you've done so, you'll notice that you'll have a new command TML.
To use the TML command:
Select all the multilines that you'd like to calculate for its lengths. Click a point somewhere and an MTEXT will be created with the details for the lengths of the multilines for each size.
Feel free to add any ideas, thoughts, criticisms, etc... and I'll try to modify them.
2,124 downloads
0 comments
Submitted
-
Multi Radio Buttons.lsp
By BIGAL
Multiple Radio Buttons
Multiple Radio Buttons is a library routine that allows you to create as many Buttons of input as required (subject to Autocad limits) using a dialouge rather than the command line.
You can have horizontal or vertical buttons choice is yours
Its use is intended where you want the user to pick one only of preset values it can be a number, a character or a whole word.
It can be used in most lisp code with just a couple of lines of code, compared to a hard coded solution of around 50+ lines repeated every time you want to use a dcl.
To use just save the "Multi Radio Buttons.lsp" to a directory that is included in you Autocad search path. If you need more information how to do this send an email to info@alanh.com.au
It only requires 3 lines of code in any lisp to use.
(if (not AH:Butts)(load "Multi radio buttons.lsp")) ; loads the program if not loaded already
(if (= but nil)(setq but 1)) ; this is needed to set default button for user pick
(setq ans (ah:butts but "V" '("A B C D " "A" "B" "C" "D" ))) ; V is for vertical H for horizontal layout
In the example above the variable ans will have the button string value.
(setq ans (ah:butts but "V" '("Please choose " "Alpha" "Beta" "1" "2" "No words")))
Pick button 5 ans = "No words"
The program resets the default button to last pick so click Ok, can be removed if not required.
Copy the 3 lines above to your command line to see how it works. There is extra examples in the top of the code how to use in your code.
For programmers it is a replacement for the Initget function.
If you want further information or conversion of your code email info@alanh.com.au
1,219 downloads
0 comments
Updated
-
HP BUTTONS.lsp
By hanhphuc
Thank you for supporting this "HP:BUTTONS.lsp" DCL library.
This routine allows you to create DCL with multiple buttons associated to DCL action_tile list on the fly.
It creates DCL box with single column x nRows of buttons, 'n' depends on the length of the 'action list'
usage:
(hp:buttons title lst width ht)
title = Name caption on top of DCL - string
lst = quoted list or progn list - list
width = Width of the dialod box - integer
ht = height of each button - integer
returns nil or any execution (progn ... ) related to action_tile
Save this file into your support folder, append to your startup autoload routine.
In order to optimize the user experience, it allows maxinum 15 rows however you can abjust depends on screen size.
HP:BUTTONS - v1.0
Free LISP by - hanhphuc
email: hanhphuc.diy@outlook.com
1,526 downloads
0 comments
Updated
-
Apollonius-problem-solved.LSP
By marko_ribar
Apollonius problem : (PPP, LPP, LLP, LLL, CPP, CLP, CLL, CCP, CCL, CCC)
P - point
L - line
C - circle
Routine finds all CIRCLES that touches or passes (point) as tangent curves to combination of (C - circle; L - line; P - point)
Relevant page on Wikipedia :
https://en.wikipedia.org/wiki/Problem_of_Apollonius
And my video demonstrating my routine :
https://youtu.be/cuo4M9UGZmA
Number of circles demonstrated in video corresponds to Wikipedia table at the end of page...
Regards, Marko Ribar, d.i.a. (architect)
643 downloads
-
EDGENET-NEWEST-LSP-ROUTINES-BY-MR.ZIP
By marko_ribar
;-------------------------------------------------; ; EDGENET ROUTINE - TWIN OF COMMAND EDGESURF ; ;-------------------------------------------------; ; Author : Marko Ribar, d.i.a. (architect) ; ; Copyright (C) - All rights reserved, 11.2019. ; ;-------------------------------------------------; ; You have permission to copy any part of code ; ; with guarantee that this header will be ; ; present in material that is modified or ; ; partly remained the same as in this routine ; ; version. If header is removed, you are ; ; responsible to mention author and link from ; ; where the code is publiced with explicit ; ; mark that material is copyrighted and is not ; ; for further distribution or selling or base ; ; for gaining any material or any other benefit ; ; than for learning and study and eventual ; ; improvement of its present functionality. ; ;-------------------------------------------------;
edgenet-newest.lsp is routine that works similar to command EDGESURF... The difference between EDGESURF and EDGENET-NEWEST.LSP is that LSP version makes Polygon Mesh that is with softer and smaller magnitude lofting approximation... If you wish you can check several routines packed in ZIP and find the one you prefer... They are little slower than built-in EDGESURF, but nevertheless IMHO they are good examples of how this task can be solved from LISP perspective... As always I am opened for any input and your versions (if you have and willing to share)...
Regards, Marko Ribar, d.i.a. (architect)
445 downloads
0 comments
Submitted
-
FlowSelect
By Jonathan Handojo
Here I present you a program that allows you to select a chain of curve whose end points resides anywhere along other curves residing in the same layer.
This inspiration came from selecting one line that represents a flow line from a branch of a hydraulic drain set, and will then proceed to select the whole set of lines for that drain. Put it in other terms, it's similar to selecting a whole tree by simply selecting one of its branches.
599 downloads
0 comments
Updated
-
Multiple Toggles.lsp
By BIGAL
Multiple Toggles is a library routine that allows you to create as many Toggles of input as required (subject to Autocad limits) using a dialouge rather than the command line.
Its use is intended where you want the user to pick one or more values. It can be used where you want to run a number of functions, pick multiple values to be used.
It can be used in most lisp code with just a couple of lines of code, compared to a hard coded solution of around 50+ lines repeated every time you want to use a dcl.
To use just save the "Multiple Toggles.lsp" to a directory that is included in you Autocad search path. If you need more information how to do this send an email to info@alanh.com.au
It only requires 2 lines of code in any lisp to use.
(if (not AH:Toggs)(load "Multiple toggles.lsp"))
(setq ans (AH:toggs (list "Change blank for yes " "Blocks" "Dimension" "Hatch" "Images" "Viewports" )))
In the example above the variable ans will have the toggle Values 1 or 0 for a toggle clicked on eg ("1" "0" "1" "0" "1") depending on toggle selected.
If you want further information or conversion of your code email info@alanh.com.au
1,041 downloads
0 comments
Submitted
-
Multi Getvals.lsp
By BIGAL
Multiple Inputs
Multiple Input DCL is a library routine that allows you to create as many lines of input as required (subject to Autocad limits) using a dialouge rather than the command line.
It can be used in most lisp code with just a couple of lines of code, compared to a hard coded solution of around 50+ lines repeated every time you want to use a dcl.
To use just save the "Getvals multi.lsp" to a directory that is included in you Autocad search path. If you need more information how to do this send an email to info@alanh.com.au
It only requires 2 lines of code in any lisp to use.
(if (not AH:getvals)(load "Getvals multi.lsp")) ; check if already loaded else load
(setq yourlist (ah:getvals '("Xfall percent" "Enter Horizontal scale " 5 4 "100" "Enter Vertical scale" 5 4 "50" "Enter number of decimal places" 5 4 "2")))
There is extra examples in the top of the code about how to use. You can have 1 entry or as many as required subject to screen size.
For complete example contact info@alanh.com.au and we will send some more example code load and a working example "Make furniture table.lsp"
For testing just copy the two lines of code to the command line you will see a "list" of the result. You can then convert if required to a real or integer using Atof or Atoi.
1,434 downloads
0 comments
Submitted
-
Global Attribute Edit with Layout Selection
By SteveK
This small program works just like AutoCAD's GATTE express tool, with the extra option of choosing which layouts to apply attribute changes to.
GATTE2 is made in lisp and uses CAB's Layout Select program to select which layouts you want. Make sure you place LayoutSelect.dcl in an AutoCAD search path or GATTE2 will not work!
Required Files:
gatte2.lsp
LayoutSelect.dcl
Both in gatte2.zip
See this thread for more details.
Function Syntax: gatte2
For instructions on how to run the program see here.
869 downloads
0 comments
Updated
-
Zoom Extents on All Viewports
By Zorg
A neat little utility that will zoom extents on all your viewports.
Function Syntax: ze
For instructions on how to run the program see here.
490 downloads
0 comments
Submitted
-
Piping/Ducting for HVAC
By tzframpton
This is a program made by ASMI and modified by Ronso in this thread. This is a genius free LISP Program and can be used in many trades, but has most usefulness in the HVAC, Mechanical, and Piping industries for drawing 2D CAD designs. It allows you to create Duct, Pipe, and Segmented Duct or Piping with automatic elbow or fittings to accurate dimensions via some initial input at the command prompt.
The programme in action
Function Syntax: DUCT
For instructions on how to run the program see here.
2,820 downloads
0 comments
Updated
-
Line Length Calculator
By Lee Mac
This program will calculate the total length of Lines/Polylines/LWPolylines/Arcs/Ellipses/Circles/Splines with an optional filter.
The Filter may be used to select only those lines that are on a certain layer, or perhaps have a certain linetype or colour.
The results of the calculation can be displayed in an ACAD Table within the drawing, or written to either a CSV or TXT File. The Table-Style may be selected from the drop-down in the main dialog.
Main interface
The main dialogue box allows the user to filter lines by layer, linetype or colour and select the table style. Multiple selected items can filtered. A filter string may be entered to help the user quickly find the filter items that he/she requires.
Options
The options dialogue box allows the user to specify which object types should be included and the type of output, table in the drawing, CSV file or TXT file.
Demo
Function Syntax: LenCal
For instructions on how to run the program see here.
Any comments, criticism and suggestions are welcome. Either PM me directly, or reply to the original thread.
3,403 downloads
-
Total Length/Area of all Polylines on a Layer
By CADTutor
This AutoLISP file can be used to measure the total length or area of all polylines on a selected layer.
Instructions on how to load and run this file in AutoCAD are given in this thread.
1,601 downloads
0 comments
Submitted
-
Flatten a 3D Drawing
By Lee Mac
This AutoLISP file can be used to flatten a 3D drawing. It does this by setting all Z values in the drawing to zero.
Instructions on how to load and run this file in AutoCAD are given in this thread.
1,490 downloads
0 comments
Updated