Üye Ol 
Ücretsiz Kullanıcı Adı Şifre Beni Hatırla Şifremi unuttum
Online
Eski Galeri  

İleti Yazar
20.03.2009 16:34 GMT
47481      




nzm06

[2] Acemi

Online Durumu

12 ileti
makına tesisatı
ankara

Ben bu lispi bi siteden buldum ama çalıştıramadım uğraştım ama olmadı yardımcı olacak arkadaşlar bi bakabilirse çok sevinirim.
Saygılarımla




Kod: (Seç)

(defun c:DD(/ *error* oldOsnap oldOffset oldEcho oldFillet ind1 ind2 outd1 outd2 ename1 ename2 ename3 ename4 obj1 obj2 obj3 obj4 strpt1 strpt2 strpt3 
    strpt4 endpt1 endpt2 endpt3 endpt4 dspt1 dspt2 raddst rads smarcc cls1 cls2 endl1 endl2 clst1 clst2 enda1 enda2
     )
  (vl-load-com)
(setq oldOsnap (getvar "osmode"))
(setq oldOffset (getvar "offsetdist"))
(setq oldEcho (getvar "cmdecho"))
(setq oldFillet (getvar "filletrad"))

   (defun *error*(msg)
   (setvar "osmode" oldOsnap)
   (setvar "offsetdist" oldOffset)
   (setvar "cmdecho" oldEcho)
   (setvar "filletrad" oldFillet) 
   (princ)
   )
  (setvar "osmode" 0)
  (setvar "cmdecho" 0)
  (setq ind1 (entsel "\nILK KANAL ICINI SEC"))
  (setq outd1 (entsel "\nILK KANAL DISINI SEC"))
  (setq ind2 (entsel "\nIKINCI KANALIN  ICINI SEC"))
  (setq outd2 (entsel "\nIKINCI KANALIN  DISINI SEC"))
  (setq ename1 (car ind1))
  (setq obj1 (vlax-ename->vla-object ename1))
  (setq strpt1 (vlax-get obj1 'StartPoint)
        endpt1 (vlax-get obj1 'EndPoint))
  (setq ename2 (car outd1))
  (setq obj2 (vlax-ename->vla-object ename2))
  (setq strpt2 (vlax-get obj2 'StartPoint)
        endpt2 (vlax-get obj2 'EndPoint))
  (if (inters strpt1 endpt1 strpt2 endpt2) (setq result "The first two lines are not parallel")
   (setq d1 (distance strpt1 (vlax-curve-getClosestPointTo obj2 strpt1))
         d2 (distance endpt1 (vlax-curve-getClosestPointTo obj2 endpt1))
         d3 (distance strpt2 (vlax-curve-getClosestPointTo obj1 strpt2))
         d4 (distance endpt2 (vlax-curve-getClosestPointTo obj1 endpt2))))
   (setq dspt1 (min d1 d2 d3 d4))
  (setq ename3 (car ind2))
  (setq obj3 (vlax-ename->vla-object ename3))
  (setq strpt3 (vlax-get obj3 'StartPoint)
        endpt3 (vlax-get obj3 'EndPoint))
  (setq ename4 (car outd2))
  (setq obj4 (vlax-ename->vla-object ename4))
  (setq strpt4 (vlax-get obj4 'StartPoint)
        endpt4 (vlax-get obj4 'EndPoint))
  (if (inters strpt3 endpt3 strpt4 endpt4) (setq result "The second two lines are not parallel")
   (setq d5 (distance strpt3 (vlax-curve-getClosestPointTo obj4 strpt3))
         d6 (distance endpt3 (vlax-curve-getClosestPointTo obj4 endpt3))
         d7 (distance strpt4 (vlax-curve-getClosestPointTo obj3 strpt4))
         d8 (distance endpt4 (vlax-curve-getClosestPointTo obj3 endpt4))))
   (setq dspt2 (min d5 d6 d6 d8)) 
  (if (<= dspt2 dspt1) (setq raddst dspt2) (setq raddst dspt1))
      (cond
                                       ((< raddst 20.9) (setq rads 5))
   ((< raddst 50.9) (setq rads 10))
   ((< raddst 70.9) (setq rads 15))
   ((< raddst 90.9) (setq rads 20))
                                       ((< raddst 110.9) (setq rads 25))
                                       ((< raddst 130.9) (setq rads 30))
                                       ((< raddst 150.9) (setq rads 35))
                                       ((< raddst 170.9) (setq rads 40))
                                       ((< raddst 190.9) (setq rads 45))
                                        ((< raddst 210.9) (setq rads 50))

      )
  (setvar "FILLETRAD" rads)
  (command "FILLET" ind1 ind2)
  (setq smarcc (cdr (assoc 10  (entget (entlast)))))
  (setvar "FILLETRAD" (+ rads raddst))
  (command "FILLET" outd1 outd2)
  (setq cls1 (vlax-curve-getClosestPointTo obj1 smarcc))
  (setq cls2 (vlax-curve-getClosestPointTo obj3 smarcc))
  (setq endl1 (inters  smarcc cls1 strpt2 endpt2 nil))
  (setq endl2 (inters  smarcc cls2 strpt4 endpt4 nil)) 
  (setq smarcc (trans smarcc 0 1)) 
  (setq clst1 (trans cls1 0 1))
  (setq clst2 (trans cls2 0 1))   
  (setq enda1 (trans endl1 0 1))
  (setq enda2 (trans endl2 0 1))
  (command "_.LINE" clst1 enda1 "")
  (command "_.LINE" clst2 enda2 "") 
(setvar "osmode" oldOsnap)
(setvar "offsetdist" oldOffset)
(setvar "cmdecho" oldEcho)
(setvar "filletrad" oldFillet)
(princ)
)


Bu mesaj ehya tarafından düzenlendi (20.03.2009 22:02 GMT, --- önce)

20.03.2009 18:30 GMT
47484      




Harbi65

[10] Üstad

Online Durumu

398 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

Lisp de sorun yok çalışıyor...
hatalı yazılmış yerleri var sadece...

(setq strpt1 (vlax-get obj1StartPoint)
endpt1 (vlax-get obj1EndPoint))
Mavi kısımların başında ki kırmızıyla belirttiğim işaret ' (tırnak) işareti olacak..

20.03.2009 22:01 GMT
47491      




ehya

[80] Yetkili

Online Durumu

2632 ileti
Teknik Ressam
Ankara

harbi senin bahsettiğin benim gözümden kaçmış. mesajı düzenlerken baktım tüm kodlamalara. Arkadaş sanırım word'den copy-paste yapmış.
çift tırnakları görmüştüm ama tek olanı mesajından sonra farkettim.
Düzenleme olarak visuallisp'in yüklenmesini sağladım.
Lisp ne işe nasıl yarıyo bilmediğim için sonucunun doğru olup olmadığını bilmiyorum.
Şuan ki haliyle lisp çalışır durumda....

21.03.2009 09:13 GMT
47499      




nzm06

[2] Acemi

Online Durumu

12 ileti
makına tesisatı
ankara

Arkadaşlar ılgınız için tşkederım konuyu bırazdaha açık anlatırsanız sevinırım lisp dırsek çizmeye yazrıyo 4 çızgıyı fılet verıyo bende boyle bi hata verıyo anlamadım ben lısp olayına yenıs ayılırım ama öğrenmeyı çok istıyorum


DD ; error: bad argument type: (or stringp symbolp): nil




lütfen mesajlarınızı küçük harfle yazınız....


Bu mesaj ehya tarafından düzenlendi (21.03.2009 09:20 GMT, --- önce)

21.03.2009 09:22 GMT
47501      




ehya

[80] Yetkili

Online Durumu

2632 ileti
Teknik Ressam
Ankara

yukarıdaki düzenlenmiş halini aldınız değil mi?

21.03.2009 09:47 GMT
47505      




miyatu

[8] Uzman

Online Durumu

114 ileti
Tekniker
*ISTANBUL*

arkadaslar bu lisp benim lispe baslamama neden olan ve bir cok yerde yayinladigim lisptir.

vl kodlari kullanildigi icin tam olarak cozemedigim 2006 ve onceki versiyonlarda problemsiz calisan ama ust versiyonlarda hata veren bir lisptir...

lispin amaci mekanik tesisatta havalandirma kanallari icin dirsek cizimi yapar...
dirsek cizilirken kanal genisligine gore ic caplar belli sinirlar icinde olmasi gerekir. bu araligi otamatik olarak kendisi secer...

Kendini gelistirmeyen insanlar, bildiklerini paylasmaya korkarlar...

21.03.2009 10:00 GMT
47507      




ehya

[80] Yetkili

Online Durumu

2632 ileti
Teknik Ressam
Ankara

bu lisp hata vermesinin sebebi visuallisp için ön yüklemenin yapılmamasıdır.
Yukarıdaki kodlamaya bakarsan (vl-load-com) satırı vardır. Lisplerinde visuallisp kodlaması kullanıyorsan her lisp başlangıcında bu satırı yazarsan hiçbir sorun çıkmayacaktır. Bu hali ile lispi denedim ve hiçbir sorun çıkmamıştır...

21.03.2009 10:16 GMT
47508      




nzm06

[2] Acemi

Online Durumu

12 ileti
makına tesisatı
ankara

vl-load-com nasıl yapacam daha detaylı olrak anlatırmısınız ben hiç anlamadım gerçekten

21.03.2009 12:25 GMT
47510      




ehya

[80] Yetkili

Online Durumu

2632 ileti
Teknik Ressam
Ankara

yukarıdaki kodlamayı düzenlemiştim. 5nci satırı yazman yeterli. Visuallisp komutları yüklenecek ve lisp içerisindeki visuallisp komutları hata vermeyecektir.

23.03.2009 12:18 GMT
47537      




nzm06

[2] Acemi

Online Durumu

12 ileti
makına tesisatı
ankara

çok tşk ederım lsp çalışıyo hiç bı sorun yok elıne saglık tşk ederım

Yukarı Çık
Copyright © 2004-2014 | Tüm Hakları Saklıdır | 2696 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam
AKPINAR Eğitim ve Yazılım Merkezi