01.03.2017 13:27    

brolin59
Aşağıdaki kod ile aynı sayfada bulunan "deneme" adlı bloğu seçtiğim noktaya koyabiliyorum. Şunu yapmak istiyorum ama beceremedim. Örneğin SagOk, SolOk, UstOk, AltOk adında 4 adet bloğum olsun. Bunlar da aynen isimleri gibi yani SagOk olan Sağa doğru çizilmiş bir ok gibi olsun. Ben komutu verdikten sonra klavyedeki ok tuşlarını kullanarak hangi bloğu çağıracağımı görmek istiyorum. Yani komutu verdim klavyeden sağ ok tuşuna bastım sağ ok şekli geldi, sol oka bastım sol ok şekli geldi gibi... Aslında sadece klavyedeki ok tuşlarının kullanılabildiği bir örnek kod da olsa işimi görür. Ben klavyedeki ok tuşları lisp içinde nasıl kullanılır onu bulamadım zaten. Yardımcı olursanız sevinirim.

(defun c:dene (/ nok)
(vl-load-com)
(osnap-on)
(setq nok (getpoint "Yerleştirilecek Noktayı Seçiniz."))
(vla-insertblock
(vla-get-modelspace
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
)
(vlax-3d-point nok)
"deneme"
1
1
1
0
)
(osnap-off)
)

01.03.2017 18:47    

Travaci
Sanırım ok tuşlarını autolisp desteklemiyor. (Umarım yanılıyorumdur ( : Araştırmayada vaktim olmadı.)

Kod:

(defun c:grd ()
  (while
    (princ (cadr (grread)))
  )
)


OK tuşları hariç diğerlerinde yanıt veriyor.

02.03.2017 06:25    

ehya
erkan'ın dediği gibi, malesef yön tuşlarına atama yapamazsınız. 4-6 tuşlarına atama yapıp kullanmanız daha mantıklı...

yön tuşlarına atama yapmak için grread fonksiyonu ile geçerli değerin 2 olduğu sorgulanıp key numarası ile atama yapılması gerek ki, lisp bilginiz az ise bunu yazmanız zor olur...

> 1 <
Copyright © 2004-2022 SQL: 0.849 saniye - Sorgu: 47 - Ortalama: 0.01807 saniye