-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathodbx_delobjinlay.lsp
More file actions
64 lines (51 loc) · 1.91 KB
/
odbx_delobjinlay.lsp
File metadata and controls
64 lines (51 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
; ANSI-Windows 1252
; Autolisp, Visual Lisp
;|
odbx_delobjinlay.lsp 1.0
Delete all objects in a layer and purge layers.
Place the files, odbx_delobjinlay.lsp and odbx_fct.lsp, in an Autocad approved folder.
Use APPLOAD to load them.
Enter odbx_delobjinlay in Autocad, the layer name and choose folder.
Drawings are not open.
PLEASE NOTE, there is no going back.
Tested on Windows 10 and Autocad 2015.
No copyright: (!) 2021 by Frédéric Coulon.
No license: Do with it what you want.
|;
;Dependencies
(vl-load-com)
;(load "fct.lsp")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:odbx_delobjinlay (/ axdoc lfil dir lay)
(setq lay (getstring "What Layer?"))
; Choose folder.
(if (and (setq dir (getdir))
; dwg liste.
(setq lfil (vl-directory-files dir "*.dwg" 1)))
; Loop over files.
(foreach f lfil
(if(setq axdoc (getaxdbdoc (strcat dir f)))
(progn
; Loop over objects in model space.
(vlax-for obj (vla-get-modelspace axdoc)
; If object in the layer.
(if (= (vla-get-layer obj) lay)
(vl-catch-all-apply 'vla-delete (list obj ))
)
)
; Loop over lay
(vlax-for layer (vla-get-layers axdoc)
; Layers containing objects, "0", locked layer and current, raise an exception.
(vl-catch-all-apply 'vla-delete (list layer))
)
(vla-saveas axdoc (strcat dir f))
(vlax-release-object axdoc)
)
(princ (strcat "\n" f ": Illegible or corrupt."))
)
)
(princ "\nHave you lost your way?")
)
(princ)
)
;É;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;