10.05.2007 06:40    

ehya
Arkadaşlar, bu lispi tarif ederken aşağıdaki resme göre anlatayım. Nasıl çalıştığı konusunda sıkıntı çekmezsiniz.
Lispi yükledikten sonra komut olarak CD yazıp enter'a basın. Resimdeki gibi önce kırmızı çizgiyi seçin. Ardından sarı çizgiyi seçin. Kırmızı çizginin kaça bölüneceğini yazın. Kırmızı çizginiz istediğiniz gibi eşit parçalara bölündü. Bu lispi indirmek için en alttaki linke tıklayın.









3866-cd.rar

10.05.2007 06:49    

arzuuuuum
ehyacım onun bi yolu daha var div enter hangi çizgi bölünecekse onu seç ve kaça bölünecek onu yaz enter line ile o noktaları bul çiz

10.05.2007 06:54    

ehya
İşte fark orada arzuum. divide ile yap. her noktadan çizgi çiz. ve o point'leri sil. Bunda ise çizgileri seç. kaça bölüneceğini yaz.
Lisp yazmak zaten yapılan işlerin süresini kısaltmak içindir. 10 komutta yapacağın şeyi tek komutta yapmak..
Güzel olmaz mı? :)

10.05.2007 06:58    

arzuuuuum
bencede güzel olu tabiki ama o lipsi nereye kopyalıycaz ben daha hiç lips ile çalışmadım.ve nasıl kullanıcaz

10.05.2007 07:04    

ehya
Herkes bu konuda support klasörüne kopyala der ama, sana bu konuda farklı bi tavsiyem olacak. C:\ sürücüsünde bi klasör aç. Özel lisplerini içine kopyala.
Autocad'ini aç. Komut olarak APPLOAD yaz. Sağ altta CONTENTS seçeneeğine tıkla. Açılan tabloda ADD butonuna bas. Lisplerini seç. Tekrar ADD dedikten sonra CLOSE butonuna bas. İlk açılan tablonunda CLOSE butonuna bas. Bu yaptığımız işlem, autocad'in her açıldığında seçtiğin lispleri otomatik olarak yükleyecektir.
Daha sonra bu lisp için komut satırına CD yaz. ve yukarıda tarif edileni yap.

10.05.2007 07:25    

arzuuuuum
tamam sağol ozamn bütün lipsleri indirmem lazım.:)

10.05.2007 08:31    

ayhan53ismail
ehya gene yaptın yapavcanı gene lisp yazıp gödermisssin sen olmasan bizler ne yaparız teşekkür ederiz ....

16.05.2007 06:43    

simsek77
Bu lisp gerçekten güzel olmuş. Peki kırmızı çizgi bir yay parçası olsa ve onu bölen noktalardan dik çıkan çizgiler çizmek mümkün olabilir mi acaba? :dozingoff

16.05.2007 07:04    

ehya
Mümkündür tabi ama yazmak için vakit lazım. O da bende bu aralar yok...

16.05.2007 07:17    

maraşlı
ehya sizin dediklerinizi yaptım komut satırında bu uyarıyı verdi.
Error: bad argument type: 2D/3D point: nil; error: An error has occurred inside
the *error* functionAutoCAD variable setting rejected: "osmode" nil
Command:

16.05.2007 07:28    

ehya
Söylemiş olduğunuz hata, lispi çalıştırdığınızda nesne seçimini isterken esc tuşuna basma ile oluşur. Genel anlamda bi sorun teşkil etmez ama yine de düzelttim. linkten tekrar indirebilirsiniz.

16.05.2007 08:04    

maraşlı
ehya aynı hatayı yine veriyor, benmi yanlış yapıyorum acaba

16.05.2007 08:41    

ehya
Lispi inceledim ama bi sorun yok. Zaten bu lispi bende kullanıyorum. Lispi kullanırken istenileni yapıyor mu? Yoksa yapmayıp sadece bu uyarıyı mı veriyor?

16.05.2007 09:49    

miyatu
Alıntı
simsek77 :
Bu lisp gerçekten güzel olmuş. Peki kırmızı çizgi bir yay parçası olsa ve onu bölen noktalardan dik çıkan çizgiler çizmek mümkün olabilir mi acaba? :dozingoff



bunun için lisp yazmaya gerek yok eğer istediğin sadece dik çizgiler çizmekse tabi...

bunu array komutu ile yapabilirsin bir örnekle açıklamaya çalışayım...

bir yay çizelim bunun merkezinden uç noktasına bir line çizelim yada dıştan dik bir line çizelim ve array komutunu çalıştıralım açılan menuden polar seçeneğini seçelim yeni menüde select object ten line ı seçelim sonra total number of items kutucuguna yayı kaça böleceksek 1 fazlasını yazalım angle to fill kutucuğunada yayımızın gördüğü açıyı yazalım ve ok diyelim hepsi bu ...

not: unutulmaması gereken konu autocad açıları saat yönünün tersinde tarar...

inşallah yardımı dokunur...

16.05.2007 11:51    

maraşlı
Lispi inceledim ama bi sorun yok. Zaten bu lispi bende kullanıyorum. Lispi kullanırken istenileni yapıyor mu? Yoksa yapmayıp sadece bu uyarıyı mı veriyor?
-----------------------------------------------------------------------------------------------------------------------

Command: cd
Bölünecek çizgiyi seçiniz:
Kopyalanacak çizgiyi seçiniz:
Error: bad argument type: 2D/3D point: nil

yapmayıp sadece bu uyarıyı veriyor.

16.05.2007 12:07    

ehya
Lispi kullanırken seçeneceğiniz nesneler LINE olmalı. Anlaşılan o ki, pline kullanıyorsunuz.

16.05.2007 12:38    

leyla_salman
;;;leyla_salman ''HİDRODİZAYN 02.01.2006''
;;;KARELAJ.LSP
;;; istenilen ölçüde Karelaj atma programı

;;;*************************************************************************************
(defun c:kare (/ nok1 nok2 basx basy sonx sony aralik nx ny i j)
(if (not olcek) (setq olcek 1000.0))
(setq eolcek olcek)
(princ (strcat "\nÖlçek <" (rtos eolcek 2 0) "> :"))
(setq olcek (getreal))
(if (not olcek) (setq olcek eolcek))
(princ "\nKarelaj atılacak bölgeyi gösteriniz :")
(setq nok1 (getpoint "\nSol alt köşe :"))
(setq nok2 (getcorner nok1 "\Sağ üst köşe :"))

(setq basx (yuvarla (car nok1) "yukari")
sonx (yuvarla (car nok2) "asagi")
basy (yuvarla (cadr nok1) "yukari")
sony (yuvarla (cadr nok2) "asagi")
aralik (* 100.0 (/ olcek 1000.0))
)
(setq nx (+ (fix (/ (- sonx basx) aralik)) 1)
ny (+ (fix (/ (- sony basy) aralik)) 1)
i 0
j 0
)
(command "undo" "mark")
(repeat nx
(repeat ny
(kareat (list (+ basx (* i aralik))
(+ basy (* j aralik))
)
)
(setq j (+ 1 j))
);_repeat ny
(setq i (+ 1 i) j 0)
);_repeat nx

(setq i 0 carpan (/ olcek 1000.0))
(repeat nx
;;;----- alttaki yarım kelebekler ------------------
(line_ciz (list (+ basx (* i aralik)) (cadr nok1))
(list (+ basx (* i aralik)) (+ (cadr nok1) (* 2.5 carpan)))
"GRID"
)
;;;----- üstteki yarım kelebekler ------------------
(line_ciz (list (+ basx (* i aralik)) (cadr nok2))
(list (+ basx (* i aralik)) (- (cadr nok2) (* 2.5 carpan)))
"GRID"
)
(setq i (1+ i))
);_ repeat nx
(setq i 0)
(repeat ny
;;;----- soldaki yarım kelebekler ------------------
(line_ciz (list (car nok1) (+ basy (* i aralik)))
(list (+ (car nok1) (* 2.5 carpan)) (+ basy (* i aralik)))
"GRID"
)
;;;----- sağdaki yarım kelebekler ------------------
(line_ciz (list (car nok2) (+ basy (* i aralik)))
(list (- (car nok2) (* 2.5 carpan)) (+ basy (* i aralik)))
"GRID"
)
(setq i (1+ i))
);_ repeat ny
);_kare
;;;*************************************************************************************
(defun c:gyaz( / nokta kyazboy kyazbos carpan dummy)
(if (not olcek) (setq olcek 1000.0))
(if (not kyazboy) (setq kyazboy (getvar "TEXTSIZE")))
(princ (strcat "\nYazı Yüksekliği <" (rtos kyazboy 2 2) "> :"))
(setq dummy (getreal))
(if dummy (setq kyazboy dummy))
(setq kyazbos (/ kyazboy 5) carpan (/ olcek 1000.0))
(setq nokta (getpoint "\nKoordinatı yazılacak noktayı gösteriniz :"))
(command "TEXT" "J" "MR"
(list (- (car nokta) (* carpan (+ 2 kyazbos))) (cadr nokta))
kyazboy
0.0
(rtos (cadr nokta) 2 0)
)
(command "TEXT" "J" "ML"
(list (car nokta) (- (cadr nokta) (* carpan (+ 2 kyazbos))))
kyazboy
270.0
(rtos (car nokta) 2 0)
)
);_gyaz
;;;*************************************************************************************
;;;*************************************************************************************
(defun c:kyaz( / nok kyazboy kyazbos carpan dummy)
(if (not olcek) (setq olcek 1000.0))

(if (not kyazboy) (setq kyazboy (getvar "TEXTSIZE")))
(princ (strcat "\nYazı Yüksekliği <" (rtos kyazboy 2 2) "> :"))
(setq dummy (getreal))
(if dummy (setq kyazboy dummy))

(setq kyazbos (/ kyazboy 5) carpan (/ olcek 1000.0))
(setq nok (getpoint "\nKoordinatı yazılacak noktayı gösteriniz :"))
(command "undo" "begin")
(setvar "osmode" 0)
(setq nokx (car nok)
noky (cadr nok)
kyazbos (* kyazbos carpan)
)
(setq yer (getpoint nok "\nYazının konacağı yeri gösteriniz :"))
(setq yerx (car yer)
yery (cadr yer)
)
(setvar "cmdecho" 0)
(line_ciz nok yer (getvar "CLAYER"))
(if (< yerx nokx)
(setq son (list (- yerx (* 7 kyazboy)) yery))
(setq son (list (+ yerx (* 7 kyazboy)) yery))
)
(line_ciz yer son (getvar "CLAYER"))
(setq sonx (car son)
sony (cadr son)
)
(if (< yerx nokx)
(progn
(command "TEXT"
"J"
"BR"
(list yerx yery)
kyazboy
0.0
(rtos nokx 2 2)
)
(command "TEXT"
"J"
"TR"
(list yerx (- yery kyazbos))
kyazboy
0.0
(rtos noky 2 2)
)
)
(progn
(command "TEXT"
"J"
"BR"
(list sonx sony)
kyazboy
0.0
(rtos nokx 2 2)
)
(command "TEXT"
"J"
"TR"
(list sonx (- sony kyazbos))
kyazboy
0.0
(rtos noky 2 2)
)
)
)
(setvar "OSMODE" 1)
(command "undo" "end")
(setvar "cmdecho" 1)

);_kyaz
;;;*************************************************************************************
(defun yuvarla(sayi yon / carpan sonuc)
(setq carpan (/ olcek 1000.0))
(setq sonuc (* (fix (/ sayi (* 100.0 carpan))) (* 100.0 carpan)))
(if (= yon "yukari") (+ sonuc (* 100 carpan)) sonuc)
);
;;;------------------------------------------------------------------------------------------------------
;;;(defun kareat(nokta / carpan)
;;; (setq carpan (/ olcek 1000.0))
;;; (line_ciz (list (- (car nokta) (* 2.5 carpan)) (cadr nokta))
;;; (list (+ (car nokta) (* 2.5 carpan)) (cadr nokta))
;;; "GRID"
;;; )
;;; (line_ciz (list (car nokta) (- (cadr nokta) (* 2.5 carpan)))
;;; (list (car nokta) (+ (cadr nokta) (* 2.5 carpan)))
;;; "GRID"
;;; )
;;;)
;;;------------------------------------------------------------------------------------------------------
(defun kareat(nokta / carpan)
(setq carpan (/ olcek 1000.0))

;;;--------- büyük çizgiler
(line_ciz (list (- (car nokta) (* 2.5 carpan)) (cadr nokta)) ;;;sol yatay çizgi
(list (- (car nokta) (* 0.5 carpan)) (cadr nokta))
"GRID"
)
(line_ciz (list (+ (car nokta) (* 0.5 carpan)) (cadr nokta));;;sağ yatay çizgi
(list (+ (car nokta) (* 2.5 carpan)) (cadr nokta))
"GRID"
)

(line_ciz (list (car nokta) (- (cadr nokta) (* 2.5 carpan)));;;alt düşey çizgi
(list (car nokta) (- (cadr nokta) (* 0.5 carpan)))
"GRID"
)
(line_ciz (list (car nokta) (+ (cadr nokta) (* 0.5 carpan)));;;üst düşey çizgi
(list (car nokta) (+ (cadr nokta) (* 2.5 carpan)))
"GRID"

)
;;;--------- küçük çizgiler
(line_ciz (list (- (car nokta) (* 0.1 carpan)) (cadr nokta))
(list (+ (car nokta) (* 0.1 carpan)) (cadr nokta))
"GRID"
)
(line_ciz (list (car nokta) (- (cadr nokta) (* 0.1 carpan)))
(list (car nokta) (+ (cadr nokta) (* 0.1 carpan)))
"GRID"
)


)
;;;------------------------------------------------------------------------------------------------------

(defun line_ciz(bas son lyr / elist)
(setq elist (list (cons 0 "LINE")
(cons 8 lyr)
(cons 10 bas)
(cons 11 son)
)
)
(entmake elist)
);_line_ciz
;;;------------------------------------------------------------------------------------------------------
(setq stylelist (tblsearch "style" (getvar "TEXTSTYLE")))
(if (/= (cdr (assoc 40 stylelist)) 0.0)
(command "-STYLE" "" "" 0.0 "" "" "" "")
)
(princ "\nKARELAJ.LSP Yüklendi. LEYLA_SALMAN")
(princ "\n[KARE] : Karelaj at - [KYAZ] : gösterilen noktaya, [GYAZ] : Gride koord. yaz")
(princ)

16.05.2007 16:35    

serzenis
tsk ler kardeş...gerçekten güzel olmuş...henüz indirmedim...hemen msj yazım dedim yene:-)
divide komutunu kullanıyordum ben yada mensure ikiside güzel komutlar...ancak dedin gibi sonra pointleri silmek gerekiyordu div de...bu şekilde bu sorunda ortadan kalktı...emeğine sağlık kardeş...

01.02.2008 09:35    

gmavisi06
süper oldu. Ben bu işlemi lamp yardımı ile kaça bölceksem lamp ile blok yerleştirip çizgi çizyordum ve daha sonra blokları kaldırıyordum.güzel oldu emeiğinize sağlık.

25.12.2008 08:41    

serkancali
Çok teşşekkürler çok işime yarayan bir lisp

elinize emeginize saglık...

Copyright © 2004-2022 SQL: 1.204 saniye - Sorgu: 102 - Ortalama: 0.0118 saniye