Stratos Posted Saturday at 12:58 PM Share Posted Saturday at 12:58 PM Hello, I am looking for an AutoLISP script that deletes all layers that have a name starting by specific strings. For example "wall" or "win" or "slab". It should not be case sensitive and the layers should be deleted even if they have something inside. Could it be an integated function so I can call it multiple times for different strings in the main body of the script? Could anyone help me out? I know I am quite a novice in the AutoLISP area.... Quote Link to comment Share on other sites More sharing options...
marko_ribar Posted Saturday at 05:28 PM Share Posted Saturday at 05:28 PM (edited) Not tested, but it should be something like this : (defun c:dellaysbyprefix ( / lay lays prefix ) (while (setq lay (tblnext "LAYER" (not lay))) (setq lays (cons (cdr (assoc 2 lay)) lays)) ) (setq prefix (strcase (getstring "\nSpecify prefix of layers to remove from DWG : "))) (foreach lay lays (if (wcmatch (strcase lay) (strcat prefix "*")) (progn (vl-cmdf "_.LAYDEL" lay) (while (< 0 (getvar (quote cmdactive))) (vl-cmdf "") ) ) ) ) (princ) ) HTH. M.R. Edited Saturday at 08:11 PM by marko_ribar 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.