|Function Syntax||(princl <l>) / (princf <l>) / (LM:princl <l> [f])|
|View HTML Version||PrintListV1-0.html|
|l||List||List to be printed|
|f||String||(Optional) Filename of output file|
|List||Supplied list argument, else nil & error message if function was unsuccessful|
This utility function is aimed at AutoLISP developers and will print a supplied list to the AutoCAD command-line or to a plain text file represented by a given filename, with nested lists printed in a hierarchical format so that the structure of the list is clearly displayed.
The main function LM:princl will accept two arguments: the first represents the list to be printed; the second is an optional filename representing a plain text file to which the list may be written.
If the supplied list argument is nil or not of a list data type, the function will not error but will simply print a string representation of the given argument to the command-line or file. Similarly, if a file corresponding to the given filename cannot be created or opened for writing, the function will simply print the supplied list argument to the command-line, without error, ensuring that some output is received.
Included in the program code are two calling functions: princl is a wrapper function which will print a given list to the command-line, removing the requirement for the filename argument; princf also removes the need for a filename argument and will automatically generate a text file in the working directory containing a formatted arrangement of the given list, before opening the file for viewing in Windows Notepad - this is useful for lists which are too large to be viewed at the command-line.
Example Function Call
_$ (princl '(1 2 (3 4 5) (6 7 (8 9 10) (11 12 13) (14 15 16 17)) (18 19 20))) ( 1 2 (3 4 5) ( 6 7 (8 9 10) (11 12 13) (14 15 16 17) ) (18 19 20) )