03.11.2015 11:15    

Travaci
Can kod da hata varmı bilmiyorum ama command kullanırken osnap i kapamalısın.

03.11.2015 11:24    

CAN123
Travaci merhaba,

Kapattım ancak aynı sorun devam ediyor. Kod da hata var.

03.11.2015 13:19    

Travaci
Can bunu sen bulursun yaa. Tek tek kodlarına bakarsan anlarsın, bizde farklı birşey yapmıcaz : ) Biraz ara ver kontrol et. Biryerden biryere giderken yanlış açıyla gitmişssindir. Ya acıyı katmamıssındır yada deltasını alırken acılı durumu dusunmemıssındır. Ikı durumuda kontrol et.

03.11.2015 14:35    

CAN123
Travaci selam,

Yapamadığım şey üçüncü noktadan ilk iki nokta arasındaki hatta olan dik ölçüyü alamamak. Nasıl alabiliriz?

03.11.2015 15:08    

Travaci
Visual lisp ile daha kolay yolla yapılabiliyor şimdilik bu aklında olsun.
Autolisp ile ;
1. ve 2. nokta arasına hayali bir çizgi çiz.
3. noktadan bu cızgıye (hangi açıyla gidiceğini zaten bulabilirsin) başka bir çizgi çiziceksin.
Burada inters komutunu kullanıp kesiştiği yerden ölçünü alıcaksın.
İnters ile ilgili sitede örnekler bulabilirsin.

Edit: İki örneğede burdan bakabilirsin.


Linkleri görebilmek için ÜYE olmalısınız.

17.12.2015 14:09    

seboli61
Kod:

(defun c:dd (/)
(setvar "cmdecho" 0)
(setq osmd (getvar "osmode")) (setq lyr (getvar "clayer"))
(if (not (tblsearch "Layer" "YT-ETKİALANI-2" ))
(command "layer" "N" "YT-ETKİALANI-2"  "LW" "0.2" "YT-ETKİALANI-2" "LT" "CONTINUOUS" "YT-ETKİALANI-2" "C" "7" "YT-ETKİALANI-2" ""))
(while (= ol nil)
     (setq ol (getreal "\nÖlçek Değeri Giriniz 1/100 için 100 gibi....")))(princ)
(setq nkt1 (getpoint "\nBirleşimNoktasınıSeç:"))
(setvar "osmode" 0) (setvar "clayer" "YT-ETKİALANI-2")
(command "donut" 0 (* ol 0.075) nkt1 )
(setvar "osmode" osmd) (setvar "clayer" lyr) (command "_.undo" "e")
(setvar "cmdecho" 1)
)



Yukarıda ki ufak bir lispim de komut çalıştığında ilk donutum YT-ETKİALANI-2 layerdan bir donut koyuyor. 2. Defa koymak istediğimde Current Layer'ım ne ise ondan koymaya devam ediyorum. Benim istediğim komut çalışmaya devam ederken 2. defa da koymak istediğim layerdan olsun.

17.12.2015 15:27    

Travaci
Kod:

(vla-put-layer (vlax-ename->vla-object (entlast)) "YT-ETKİALANI-2")

ile son çizilen nesnenin layerını değiştirebilirsin. Hal böyle olunca

Kod:

(setq lyr (getvar "clayer"))
(setvar "clayer" "YT-ETKİALANI-2")
(setvar "clayer" lyr)

bunlara gerek kalmıyor.

Diğer dikkat ediceğimiz kısım
Layer açma ve undo yu noktayı seçtikten sonra başlatırsak kullanıcı komutu çalıştırıp escape yaptığında ne undo begin olucak nede layer açılmış olucak.

Diğer yazım ve mantık hataları da ileride yaptıkça düzelicektir...

16.01.2016 16:31    

mak7510
Seçilen objelerin alanlarını ve toplam alanı hesaplayıp yazan Lisp yükledim ancak autolisp error bad argument type streamp nil hatası veriyor ne yapmam gerekiyor

16.01.2016 17:02    

alumina
yuklediginiz lispi paylasirmisiniz

17.01.2016 12:05    

mak7510
sitede mevcut Seçilen objelerin alanlarını ve toplam alanı hesaplayıp yazan Lisp isminde aln kısa kotlu yüklemeye calıştım ancak olmadı

17.01.2016 16:05    

mak7510


Linkleri görebilmek için ÜYE olmalısınız.

26.01.2016 00:00    

osmantaylan
Herkese merhaba ;

öncelikle cizimokulu.com ' a bu güzel site için ve yardımcı arkadaşlarada emekleri için teşekkürler.

AutoLisp için henüz yeniyim pek fazla bir bilgi sahibi değilim araştırıyorum ancak şu hususda yardımınıza ihtiyacım var

Autocad 2015 kullanıyorum indirmiş olduğum bazı lispleri denemeye çalışıyorum ancak başarılı olamıyorum acaba programın sürümünden kaynaklımıdır yada lisp kodlamaları daha önceki sürümlerde yapıldığı için bu sürümde çalışmazmı dosyaları gerken yere atarak Appload kısmındaki tüm işlemleri sırasıyla yapıyorum ama Autocad'i her açtığımda eklediğim lisp dosyalarının adını içeren bir pencere geliyor ve '' Load'' '' Dont Load'' '' Cancel '' seçenekleri çıkıyor.Buna rağmen Komutları program tanıyor ama işlevleri gerçekleştirmiyor
Ne yapmam gerekmektedir Yardımlarınız için şimdiden teşekkür ederim

26.01.2016 00:00    

osmantaylan
Herkese merhaba ;

öncelikle cizimokulu.com ' a bu güzel site için ve yardımcı arkadaşlarada emekleri için teşekkürler.

AutoLisp için henüz yeniyim pek fazla bir bilgi sahibi değilim araştırıyorum ancak şu hususda yardımınıza ihtiyacım var

Autocad 2015 kullanıyorum indirmiş olduğum bazı lispleri denemeye çalışıyorum ancak başarılı olamıyorum acaba programın sürümünden kaynaklımıdır yada lisp kodlamaları daha önceki sürümlerde yapıldığı için bu sürümde çalışmazmı dosyaları gerken yere atarak Appload kısmındaki tüm işlemleri sırasıyla yapıyorum ama Autocad'i her açtığımda eklediğim lisp dosyalarının adını içeren bir pencere geliyor ve '' Load'' '' Dont Load'' '' Cancel '' seçenekleri çıkıyor.Buna rağmen Komutları program tanıyor ama işlevleri gerçekleştirmiyor
Ne yapmam gerekmektedir Yardımlarınız için şimdiden teşekkür ederim

26.01.2016 06:57    

Travaci


Linkleri görebilmek için ÜYE olmalısınız.




Linkleri görebilmek için ÜYE olmalısınız.




Linkleri görebilmek için ÜYE olmalısınız.




Linkleri görebilmek için ÜYE olmalısınız.

03.02.2016 08:18    

heisenberg33
Iyi gunler,
elimde bulunan karelajdaki kotlari belirledigim oranda arttirmak istiyorum. Ornegin : 2189.500'e + 0.350 m ilave etmek istiyorim. Karelajda ortalama 1000 adet kot var.
Bu islemle alakali elinde lisp olan var mi acaba?

03.02.2016 12:15    

alumina
Alıntı
heisenberg33 :



Kod:

(defun c:kt (/ ss vl dz dc i sy en st) (vl-load-com)
  (if (setq ss (ssget '((0 . "*text"))))
    (if (setq dz (getvar 'dimzin) vl (getreal "\nEnter value:"))
      (progn
        (vla-startundomark (setq dc (vla-get-activedocument (vlax-get-acad-object))))
        (setvar 'dimzin 0)
        (repeat (setq i (sslength ss))
          (if (numberp (distof (setq sy (cdr (assoc 1 (setq en (entget (ssname ss
                (setq i (1- i))))))))))
            (entmod (subst (cons 1 (if (>= (setq st (+ (atof sy) vl)) 0)
              (strcat "+" (rtos st 2 3)) (rtos st 2 3))) (assoc 1 en) en))))
        (setvar 'dimzin dz)
        (vla-endundomark dc)
      )
    )
  ) (princ)
)

03.02.2016 12:46    

Travaci
heisenberg33


Kod:

(defun c:adv (/ ss dz cp n ns) (vl-load-com)
  (if (setq ss (ssget (list (cons 0 "*text"))))
    (if (setq dz (getvar "dimzin") cp (getdist "\nAdd value: "))
      (progn
        (vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
        (setvar "dimzin" 0)
        (repeat (setq n (sslength ss))
          (setq ns (vlax-ename->vla-object (ssname ss (setq n (1- n)))))
          (if (distof (vla-get-TextString ns))
            (vla-put-TextString ns (rtos (+ (atof (vla-get-TextString ns)) cp) 2 3))))
        (setvar "dimzin" dz)
        (vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
      )
    )
  ) (princ)
)

03.02.2016 14:53    

alumina
Alıntı
Travaci :


Hocam elinize saglik cok guzel bir lisp olmus ama kotlarda "+" isareti cikmiyor. Usenmissiniz sanki :D

03.02.2016 15:07    

Travaci
alumina


Hoca, biz klavuza göre hareket ediyoruz. :wink

04.02.2016 07:53    

ehya
Arkadaşlar, bu konu "Autolisp ile ilgili sorular" bölümüdür. Autolisp istek yeri değildir. Bu aşamadan sonra lisp istekleri bu konu altından silinecektir.
Yönetici arkadaşların da bu konuya hassasiyet göstermesini rica ediyorum.

Copyright © 2004-2022 SQL: 2.155 saniye - Sorgu: 100 - Ortalama: 0.02155 saniye