23.07.2009 15:33    

ehya
;;; Seçilen nesnelerin layerlarını kilitler. Komut adı LC

Kod:

(defun lc_hata (s)
  (if (/= s "Function cancelled")
    (princ (strcat "\nError: " s))
  )
  (setq *error* olderr)
  (princ)
)
(defun c:LC
       (/ SS1 E# ENT NAMES LYR)
  (setq olderr *error*
*error* lc_hata
  )
  (setq cmd (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (princ "\n Kilitlenecek nesneleri seçiniz:")
  (setq SS1 (ssget)
E#  (sslength SS1)
  )
  (if (> E# 0)
    (progn
      (setq ENT   (ssname SS1
  (setq E# (1- E#))
  )
    ENT   (entget ENT)
    NAMES (cdr (assoc 8 ENT))
    E#   (1- E#)
      )
    )
  )
  (while (> E# -1)
    (setq ENT (ssname SS1 E#)
  ENT (entget ENT)
  LYR (cdr (assoc 8 ENT))
  NAMES (strcat NAMES "," LYR)
  E# (1- E#)
    )
  )
  (command "LAYER" "LO" NAMES "")
  (setvar "cmdecho" cmd)
  (princ)
)
(princ)






;;; Seçilen nesnelerin layerlarının kilitlerini açar. Komut adı UC

Kod:

(defun c:UC (/ SS1 E# ENT NAMES LYR)
      (setq cmd (getvar "cmdecho"))
      (setvar "cmdecho" 0)
      (princ "\n Kiliti açılacak nesneleri seçiniz:")
      (setq SS1 (ssget)
    E# (sslength SS1)
      )
      (if (> E# 0)
(progn
  (setq ENT   (ssname SS1
      (setq E# (1- E#))
      )
ENT   (entget ENT)
NAMES (cdr (assoc 8 ENT))
E#    (1- E#)
  )
)
      )
      (while (> E# -1)
(setq ENT   (ssname SS1 E#)
      ENT   (entget ENT)
      LYR   (cdr (assoc 8 ENT))
      NAMES (strcat NAMES "," LYR)
      E#    (1- E#)
)
      )
      (command "LAYER" "UNLOCK" NAMES "")
      (setvar "cmdecho" cmd)
  (princ)
)
(princ)

24.07.2009 10:33    

safakkarman
cok tesekurler arkadasim cok isime yarayacak

24.07.2009 12:00    

erdemavis84
hmm güsl anlatımlar :D:D başlangıçla öğreniyordum...

> 1 <
Copyright © 2004-2022 SQL: 0.909 saniye - Sorgu: 50 - Ortalama: 0.01817 saniye