Sosyal Medya

Bülten Aboneliği
*  E-posta adresiniz:



* Güvenlik kodu:
Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] > 82 <
İleti Yazar
09.05.2017 12:06
84981      




alumina

[70] Editör

Online Durumu

575 ileti
Insaat Muhendisi
Istanbul

Alıntı
alves :


Niye illa lisp? Sec hepsini, properties'ten tek seferde degistir.

10.05.2017 18:07
84990      




ayuksel

[2] Girişimci

Online Durumu

6 ileti
Öğrenci
İstanbul

Merhabalar,

Okulda proje ödevi olarak hoca bir katı model çizen AutoLISP yazmamızı ve ölçülerin DCL ile ayarlanabilir olmasını istiyor. Benim modeli aşağıya yükledim.



Extrude etmeden önce tabanını çizmek ve R10 R50'lik filletları atmak istiyorum. Ancak, filletları nasıl atacağımı bir türlü anlayamadım. Şimdiye kadarki yazdığım kod aşağıdaki gibi. Yol gösterebilecek olan var mıdır?

Teşekkürler,

Not: LISP konusunda epey acemiyim.

Kod:

(defun c:abd ()
(setq wid1 60 len 115 wid1 60 wid2 22.5 hole1 20 hole2 15 rad1 22.5 rad2 20 rad3 50 rad4 10 rad5 7.5 he1 15 thi1 15 thi2 15 dist1 47.5 dist2 25 dist3 22.5 dist4 37.5)

;base
(setq pnt1 (getpoint "\nPlease select the starting point"))
(setq pnt2 (list (+ (car pnt1) (- len rad2))  (cadr pnt1)  (caddr pnt1)))
(setq pnt3 (list (car pnt2) (- (cadr pnt2) (- wid1 (* rad1 2)))  (caddr pnt1)))


(setq pnt4 (list (+ (car pnt3) (* rad2 2)) (cadr pnt3)  (caddr pnt1)))
(setq pnt5 (list (car pnt4) (+ (cadr pnt4) wid1)  (caddr pnt1)))
(setq pnt6 (list (- (car pnt4) (+ len rad2)) (cadr pnt5)  (caddr pnt1)))
(setq pnt7 (list (car pnt1) (cadr pnt1) (caddr pnt1)))



(command "line" pnt1 pnt2 pnt3 pnt4 pnt5 pnt6 pnt7 "")
)

10.05.2017 18:50
84991      




ehya

[90] Yönetici

Online Durumu

3035 ileti
Teknik Ressam
Ankara

ayuksel




tüm nesneleri line komutu ile bir defada yapmayın. tek tek yapın. fillet uygulanacak nesneleri hafızaya aldırıp fillet işlemini uygulayın.


örnek kod :

Kod:

(setq p1 (getpoint "\n1.nokta:")
      p2 (getpoint p1 "\n2.nokta:")
      p3 (getpoint "\n3. nokta:")
      p4 (getpoint p3 "\n4. nokta:"))
(command ".line" p1 p2 "")
(setq e1 (entlast))
(command ".line" p3 p4 "")
(setq e2 (entlast))
(command "_.fillet" e1 e2)

10.05.2017 19:33
84992      




ayuksel

[2] Girişimci

Online Durumu

6 ileti
Öğrenci
İstanbul

Alıntı
ehya :







Hocam çok teşekkür ederim. Dediğiniz gibi yapınca fillet'lar oldu.

Fakat extrude etmeden çizilenleri join ile birleştirmek gerekiyor sanırım.

Bu "command ...... "" " şeklinde LISP editöre yazdığımız komutları anlatan bir kaynak öneriniz var mıdır (İngilizce de olabilir)? Sitede bir kitap gördüm ama şimdi onu sipariş edip bekleyebilecek kadar vaktim yok maalesef.

Teşekkürler,


Bu mesaj ehya tarafından düzenlendi (11.05.2017 11:39 GMT, 13 Gün önce)

10.05.2017 19:42
84993      




Travaci

[70] Editör

Online Durumu

1984 ileti
Teknik Ressam
Konstantinopol

ayuksel




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

11.05.2017 11:42
84996      




ehya

[90] Yönetici

Online Durumu

3035 ileti
Teknik Ressam
Ankara

ayuksel




hocanızın sizden dcl ile ayarlanabilir istediği çizim bir öğrenci için biraz ağır ödev olmuş.
Geçmiş yıllarda öğrencilere benzer çizimleri kodlamıştım ama bu biraz zor.

Tavsiyem,
çizdirmek istediğiniz tüm koordinatları hesaplatın. radius olacak kısımda dahil.
daha sonra pline komutu ile tek defada oluşturun.

11.05.2017 11:47
84997      




Travaci

[70] Editör

Online Durumu

1984 ileti
Teknik Ressam
Konstantinopol

Bu ödevden herkez kalır : )

11.05.2017 14:26
84998      




ayuksel

[2] Girişimci

Online Durumu

6 ileti
Öğrenci
İstanbul

Alıntı
ehya :



Hocam maalesef haklısınız. Hele Autocadden az anlayıp, kodlama bilgisi 0 olan bir kişi için çok zor bir ödev. O kadar anlamıyorum ki tavsiyenizi bile anlamadım

Kod:

(defun c:abd ()
(setq wid1 60 len 115 wid1 60 wid2 22.5 hole1 20 hole2 15 rad1 22.5 rad2 20 rad3 50 rad4 10 rad5 7.5 he1 15 thi1 15 thi2 15 dist1 47.5 dist2 25 dist3 22.5 dist4 37.5)

;base
(setq pnt1 (getpoint "\nPlease select the starting point"))
(setq pnt2 (list (+ (car pnt1) (- len rad2))  (cadr pnt1)  (caddr pnt1)))
(setq pnt3 (list (car pnt2) (- (cadr pnt2) (- wid1 (* rad1 2)))  (caddr pnt1)))
  (setq pnt4 (list (+ (car pnt3) (* rad2 2)) (cadr pnt3)  (caddr pnt1)))
(setq pnt5 (list (car pnt4) (+ (cadr pnt4) wid1)  (caddr pnt1)))
(setq pnt6 (list (- (car pnt4) (+ len rad2)) (cadr pnt5)  (caddr pnt1)))
(setq pnt7 (list (car pnt1) (cadr pnt1) (caddr pnt1)))

(command "line" pnt1 pnt2 "")
  (setq l1 (entlast))
  (command "line" pnt2 pnt3 "")
  (setq l2 (entlast))
(command "line" pnt3 pnt4 "")
  (setq l3 (entlast))
(command "line" pnt4 pnt5 "")
  (setq l4 (entlast))
(command "line" pnt5 pnt6 "")
  (setq l5 (entlast))
(command "line" pnt6 pnt7 "")
  (setq l6 (entlast))

  (setvar "filletrad" 10)
  (command "._fillet" l1 l2)
(setq f1 (entlast))
  (setvar "filletrad" 50)
  (command "._fillet" l4 l5)
(setq f2 (entlast))


  (setq pa (getvar "peditaccept"))
  (setvar "peditaccept" 1)
    (setq ssj (ssget "_A"))
    (command "pedit" "m" ssj ""  "j" "0.01" "")
  (setvar "peditaccept" pa)


  (setq base (entlast))
(command "extrude" base "" he1 "")

(setq extbase1 (entlast))


    (setq pnt8 (list (+ (car pnt1) dist1) (+ (cadr pnt1) (- rad1 rad5))  (caddr pnt1)))
  (setq pnt9 (list (+ (car pnt1) (+ dist1 dist3) (+ (cadr pnt1) (- rad1 rad5))  (caddr pnt1))))
[b](command "line" pnt8 pnt9 "")[/b]
  (setq l7 (entlast))

(setq pnt10 (list (+ (car pnt1) dist1) (+ (cadr pnt1) (+ rad1 rad5))  (caddr pnt1)))
  (setq pnt11 (list (+ (car pnt1) (+ dist1 dist3) (+ (cadr pnt1) (+ rad1 rad5))  (caddr pnt1))))
[b](command "line" pnt10 pnt11 "")[/b]
  (setq l8 (entlast))

  (setq pnt12 (list (car pnt8) (+ (cadr pnt8) rad5) (caddr pnt1)))

(command "arc" pnt8 pnt12 pnt10)
  )


Hocam kodun içerisinde "pnt8 pnt9" ve "pnt10 pnt11" noktalarından oluşan line'ları çizmiyor Autocad. Biraz yukarıdaki "peditaccept" kısmında mı hata yapıyorum sizce? Bu kısmı çizdirdiğim ayrı parçaları birleştirsin diye yazmıştım extrude etmeden önce.


Bu mesaj ayuksel tarafından düzenlendi (11.05.2017 15:21 GMT, 13 Gün önce)

11.05.2017 15:59
84999      




ehya

[90] Yönetici

Online Durumu

3035 ileti
Teknik Ressam
Ankara

ayuksel




Kodlama yaparken osnap değerlerini kapatmalısın. Bunun için uygulaman gereken kod;

lispin üst kısmına

Kod:

(setq os (getvar "osmode"))


kodunu ekle. bu kod mevcut osnap seçeneklerini hafızaya alır.

Nesneler oluşturmadan önce de;

Kod:

(setvar "osmode" 0)


kodu ile osnap ları kapat.

lispin sonuna da
Kod:

(setvar "osmode" os)

kodunu ekleyerek osnapları eski haline getir.
Bu bölümler yazılmazsa, çizim oluşturulurken hata verir. Yada bu çizgileri command ile değil de, etnmake ile yada vla-add ile eklemelisin.

Lispin sonunda arc komutu hatalı çalışıyır. tek düzlem üzerine arc çizdirmeye çalışıyorsun.
pnt12 koordinatını yarı değer kadar sola kaydırmalısın.

11.05.2017 18:11
85000      




ayuksel

[2] Girişimci

Online Durumu

6 ileti
Öğrenci
İstanbul

Hocam değerli yardımlarınız için teşekkür ederim. Bu arc'ın yönünü değiştirmenin bir yolu var mıdır LISP ile? Hep CCW mi olacak?



Teşekkürler,

Arc için yazdığım kod:
Kod:

 
(command "_.arc" "_non" pnt8 "_e" "_non" pnt10 "_radius" rad5)

  (setq arc1 (entlast))

  (command "_.arc" "_non" pnt9 "_e" "_non" pnt11 "_radius" rad5)
 
  (setq arc2 (entlast))

11.05.2017 18:27
85001      




ehya

[90] Yönetici

Online Durumu

3035 ileti
Teknik Ressam
Ankara

hesaplamalar ccv dir. ona göre koordinatları bulmalısın.

11.05.2017 19:43
85003      




ayuksel

[2] Girişimci

Online Durumu

6 ileti
Öğrenci
İstanbul

Alıntı
ehya :



Hocam (entlast) ile isim verdiğim line, arc gibi şekilleri nasıl birleştireceğim? Bu konuda da yardımcı olursanız sevinirim.

İyi çalışmalar,

12.05.2017 00:48
85004      




alumina

[70] Editör

Online Durumu

575 ileti
Insaat Muhendisi
Istanbul

Alıntı
ayuksel :

Kod:

(defun c:pd (/ p1 p2 p3 p4)
  (setq p1 (getpoint) p2 (getpoint) p3 (getpoint) p4 (getpoint))
  (command "._line" p1 p2 "") (setq ln (entlast))
  (command "._arc" p2 p3 p4) (setq ac (entlast))
  (command "._pedit" ln "" "j" ac "" "")
  (prin1)
)

12.05.2017 01:36
85005      




ayuksel

[2] Girişimci

Online Durumu

6 ileti
Öğrenci
İstanbul

Alıntı
alumina :




Teşekkür ediyorum.

Resimdeki arc'ın yönünü nasıl değiştirebilirim? Tavsiyeniz var mı? Alttaki çizgilerle paralel/yukarıya doğru olması gerekiyor.

Lispte UCS komutlarını denedim biraz ama işler iyice karışıyor o zaman, bir türlü yerini tutturamadım.


Bu mesaj ayuksel tarafından düzenlendi (12.05.2017 17:40 GMT, 12 Gün önce)

15.05.2017 00:19
85010      




alumina

[70] Editör

Online Durumu

575 ileti
Insaat Muhendisi
Istanbul

Alıntı
ayuksel :

Kod:

(defun c:rc (/ p1 p2 p3)
  (setq p1 (getpoint) p2 (getpoint) p3 (getpoint))
  (command "._ucs" "3" p1 p3 p2
           "._arc" (trans p1 0 1) (trans p2 0 1) (trans p3 0 1)
           "._ucs" "w")
  (prin1)
)

16.05.2017 12:29
85015      




waytooraider

[8] Kıdemli Uzman

Online Durumu

147 ileti
makine mühendisi
istanbul

Merhaba,
Seçilen blokckların sağına ,soluna yeri önemli değil etrafında herhangi bir yerine ismini text olarak yazdırmak mümkün mü?

16.05.2017 13:03
85016      




alumina

[70] Editör

Online Durumu

575 ileti
Insaat Muhendisi
Istanbul

Alıntı
waytooraider :

Kod:

(defun c:bn (/ dc sl m) (vl-load-com)
  (if (and (ssget '((0 . "insert"))) (setq dc (vlax-get (vlax-get-acad-object)
        'activedocument) sl (vla-get-activeselectionset dc)))
    (progn (vla-startundomark dc)
      (vlax-for m sl (vla-getboundingbox m 'mn 'mx)
        (vlax-invoke (vlax-get dc 'modelspace) 'addtext (vla-get-EffectiveName m)
          (polar (vlax-safearray->list mn) (+ pi (/ pi 2)) 50) 25)) (vla-endundomark dc)
      (vla-delete sl)
    )
  ) (prin1)
)

16.05.2017 14:04
85017      




waytooraider

[8] Kıdemli Uzman

Online Durumu

147 ileti
makine mühendisi
istanbul

Harikasın!

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] > 82 <
Yukarı Çık
Copyright © 2004-2017 | Tüm Hakları Saklıdır | 936 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam