08.10.2011 06:24    

emasi
Selamun aleykum
bazen öyle oluyor ki, işlem zamanı seçdiyimiz nesneleri seçdiyimiz zaman bilerekden ve ya bilmeyerekden işlemimizi yarım kesiyoruk. ve seçdiyimiz nesneleri yeniden seçmemek için bu lisp yardım olur.
Note: AutoCad da bu işleme benzer bi komut var ama :
1) bu komutda nesneleri aynı anda yani bize lazım olan nesneleri tek tek deyil bir hamlede seçmiş olursak ve işlemimizi yarımkessek o zaman Örnek : Copy enter P enter yapdıkda bu işlem aynen verilen Lisp gibi çalışır
2) bu komutda nesneleri aynı anda deyil tek tek seçersek ve işlemimizi yarımkessek o zaman Örnek : Copy enter P enter yapdıkda seçdiyimiz nesnelerden yalnız ilk seçdiyimiz nesne seçilecekdir.
ve verilen lispin özelliyide budur.Tek tek ve ya aynı anda seçilen nesneleri geri getirir.
Note : Bu lisp benim kendi lispim deyil. Tercüme yapılıb size sunulmakda.


Kod:

(vl-load-com)
;
(defun pickfirstModified(reac data / )
  (if (cadr (ssgetfirst))
    (setq last_select_selection (cadr (ssgetfirst)))
    )
  )
;------------------------------------------------------------

; reaktör
(setq Misc_Reac (vlr-miscellaneous-reactor nil
          (list '(:VLR-pickfirstModified . pickfirstModified)
            )
          )
      )
;------------------------------------------------------------


;------------------------------------------------------------
; örnek çağrı: get-last-select (gls)
(defun c:gls()
  (if (= (type last_select_selection) 'PICKSET)
    (if (> (sslength last_select_selection) 0)
      (progn
    (sssetfirst nil last_select_selection)
    (prompt "\n son değişken yeni bir takım kurdu last_select_selection")
    )
      (prompt "\n son değişken takım boş")
      )
    (prompt "\n Çizimde henüz tek bir dizi seçilmemiş ")
    )
  (princ)
  )
;------------------------------------------------------------

> 1 <
Copyright © 2004-2022 SQL: 0.995 saniye - Sorgu: 42 - Ortalama: 0.02369 saniye