ehya - 04.10.2005 14:36
Bu lispi kodlayan ehya 'ya teşekkürler.
Buraya tıklayarak açılan pencereden AutoLISP kodlarını Ctrl + C ile kopyalayabilirsiniz
(if (/= s "Function cancelled")
(princ (strcat "
Error: " s))
)
(setq *error* olderr)
(princ))
(defun rt_uygula ()
(setq rt_sec_say (sslength rt_sec))
(setq c 0)
(while (> rt_sec_say c)
(setq e_rt_sec (ssname rt_sec c))
(setq ee_rt_sec (entget e_rt_sec))
(setq ee_rt_sec (append ee_rt_sec (list (cons 50 secim_aci))))
(entmod ee_rt_sec)
(setq c (+ c 1))
(setq rt_e t)
)
)
(defun c:rty ()
(prompt "[cizimokulu.com]")
(setq olderr *error*
*error* rt_hata)
(setq
rt_sec (ssget
'((-4 . "<OR") (0 . "TEXT") (0 . "MTEXT") (-4 . "OR>"))
)
)
(if (= rt_sec nil)
(progn
(princ)
)
(progn
(setq rt_e nil)
(setvar "errno" 0)
(while (= rt_e nil)
(setq rt_ent (entsel "
Referans nesneyi seçiniz:"))
(if (= rt_ent nil)
(progn
(if (= (getvar "errno") 7)
(progn
(setq rt_e nil)
(setvar "errno" 0)
)
)
(if (= (getvar "errno") 52)
(progn (setq rt_e t) (setvar "errno" 0))
)
)
(progn
(command "select" rt_sec "")
(setq rt_ent_tan (cdr (assoc 0 (entget (car rt_ent)))))
(if (and (/= rt_ent_tan "LINE")
(/= rt_ent_tan "XLINE")
(/= rt_ent_tan "RAY")
(/= rt_ent_tan "TEXT")
)
(progn
(princ
"
Bu komut seçtiğiniz nesne türü için geçerli değildir..."
)
(setq rt_e t)
)
)
(if (= rt_ent_tan "TEXT")
(progn
(setq secim_aci (cdr (assoc 50 (entget (car rt_ent)))))
(rt_uygula)
)
)
(if (or (= rt_ent_tan "LINE")
(= rt_ent_tan "XLINE")
(= rt_ent_tan "RAY")
)
(progn
(setq secim_bas (cdr (assoc 10 (entget (car rt_ent))))
secim_son (cdr (assoc 11 (entget (car rt_ent))))
)
(setq secim_aci (angle secim_bas secim_son))
(if (and (> secim_aci (angtof "0.0000"))
(< secim_aci (angtof "90.0000"))
)
(setq secim_aci secim_aci)
)
(if (and (> secim_aci (angtof "91.0000"))
(< secim_aci (angtof "180.0000"))
)
(setq secim_aci (+ secim_aci (angtof "180.0000")))
)
(if (and (> secim_aci (angtof "181.0000"))
(< secim_aci (angtof "270.0000"))
)
(setq secim_aci (+ secim_aci (angtof "180.0000")))
)
(if (and (> secim_aci (angtof "271.0000"))
(< secim_aci (angtof "360.0000"))
)
(setq secim_aci secim_aci)
)
(rt_uygula)
(setq rt_e t)
)
)
)
)
)
)
)
(princ)
)
(princ)(PRINC " --> 'cizimokulu.com' Çizim yardımları yüklendi !")
Bu kodları nasıl kullanacağınızı bilmiyorsanız aşağıdaki linkten;
AutoLISP > Konu Anlatımları > Lisp Dosyalarının oluşturulması ve Yüklenmesi
konusunu inceleyiniz.
Yazar: ehya
İçerik:
Tag:
tesekkurler
Merhaba; Yazıyı referans nesneye dik olacak şekilde bu lkispi düzenleyebilir misiniz acaba?Ben biraz uğraştım ama olmadı :(
eline sağlık
bu komut mtext ler için de işe yarasa süper olacak + referasn noktaları pline da seçebilsek tamamdır.
bu komutu kopyalayamıyorum "bu fonksiyon geçersiz" diye bi msj çıkıyooo:( daha evvel kopyalamışdım, formatta uctu, tekrar istiyorum bunuuuu:P teşekkürler
engelleme gibi bir durum söz konusu değil. Seçim yapıp CTRL+C ile kopyalayın. Boş bir metin belgesine CTRL+V yapın.
Bu lispe emeği gecenlere teşekkürler. Buraya üyeyim ama ilk defa bir lispi copylayamıyorum. Forum içinde belli bir seviyede olanmı bu lisp i alma hakkı veriliyor ? Fleshget arkadaşımız da bu konuda hayıflanmış. Haklıda. Varsa bir kota veya sınırlama bilelim ki başkasının emegine saygısızlık ediyor pozisyonuna düşmeyelim. Alındım valla. Yukarıdaki listelenen kodları almanın başka yolları da var. Ama eger istenmiyorsa almak da istemem. Emeğe saygımız var. Yok bu lisp herkeze acıksa nasıl bilgisayarımıza indirecegimizide acıklarsanız memnun oluruz.
Saygılarımşla.
nsimsek
kopyalayamıyorum bile lisp'i, nasıl bir sistem yapmışsınız anlamadım gitti :/
çok güzel teşekkürler.
eyvallah ehya süper olmuş çok işe yarayacak....
güzel olmuş parmaklarına sağlık.
line ve bloklu nesnelerde kullanabilsek daha güzel olurdu.
teşekkürler
Bu lisp cad 2004 te çalışıyor.
Yüklemek için:
Tools açılır menüsü altından Load Application tıklıyoruz.
Ekrana gelen dialog penceresinden lispimizi kaydetiğimiz dizinden çağrıyoruz.
Command: _appload pp.lsp successfully loaded.
Command: --> 'www.autocadokulu.com' Çizim yardımları yüklendi ! EKRANA BÖYLE BİR YAZI GELMESİ GEREK.
Bu lispi çalıştırmak için Command satırından rty yazıyoruz.
İlk önce döndürülecek objeyi seçiyoruz ardından referens alacağımız obje seçmemiz isteniyor.Tıkladıktan sonra seçtiğimiz metin seçtiğimiz çizgiye göre hizalanıyor...
Arkadaşlar, lisplere özel bi foksiyon yazılmadığı sürece autocad'in farklı versiyonlarında çalışmama gibi bi durumu olamaz.Kodlara tekrar baktım ama çalışmaması gibi bu durum söz konusu değil. eğer yükleme esnasında bi hata veriyorsa o hatayı yazarsanız o zaman tam olarak yardım edebilirim.
selam bende autocad 2002 kullanıyorum ve bendede çalışmıyor
selam
komut satırndan "rty" yazıp, enter'ledikten sonra "Command: rty
[www.autocadokulu.com]" bilgisi yazlıyor ve işlem son buluyor. AutoCAD2006 kullanıyorum.
Bu komutu kullanmak için, lispi yükledikten sonra komut olarak rty yazın.
selam bu lisp i kullanmak için hangi komutu kullanıyoruz