salman Posted May 13, 2009 Posted May 13, 2009 In auotlips programs I want to get the names of layers not by hard coding or by typing them on the command prompt as user input instead I want user to select the layer form the layers control panel. Thanks. Quote
rkmcswain Posted May 13, 2009 Posted May 13, 2009 Create a DCL dialog, and populate it with the existing layer names. Sample code here: http://www.jefferypsanders.com/autolisp_DCL_Part7.html Quote
Lee Mac Posted May 13, 2009 Posted May 13, 2009 I agree with RKMcSwain, To populate your DCL, you need to retrieve a list of layers - this can be done in a variety of ways, here are two options for you to try: (defun laylst (/ tdef lst) (reverse (while (setq tdef (tblnext "LAYER" (not tdef))) (setq lst (cons (cdr (assoc 2 tdef)) lst))))) (defun laylst2 (/ lst) (vl-load-com) (reverse (vlax-for lay (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))) (setq lst (cons (vla-get-Name lay) lst))))) Quote
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.