" />

* E Posta Adresiniz:
* Kodu Girin:

Önceki Sayfa [1] [2] [3] > 4 < [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [39] Sonraki Sayfa
İleti Yazar
13.10.2008 22:46
42021    
Harbi65

[10] Üstad

Online Durumu

413 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

Seçtiğimiz bir çizgiyi kesen çizgiler olup olmadığını varsa kesişim noktalarını nasıl tesbit ederiz?

14.10.2008 00:15
42028    
ehya

[90] Yönetici

Online Durumu

3192 ileti
Teknik Ressam
Ankara

inters komutunu incele...

14.10.2008 00:19
42029    
Harbi65

[10] Üstad

Online Durumu

413 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

bu komut karmaşık geldi... kullanımını biraz anlatabilir misin?

14.10.2008 10:09
42031    
ehya

[90] Yönetici

Online Durumu

3192 ileti
Teknik Ressam
Ankara

Karmaşık birşey değil. Sadece incelemiyorsun harbi.
İki çizgi seç. başlangıç ve bitiş noktalarını tespit et.
Ardından kodları aşağıdaki gibi yaz.

(inters 1ciz_bas 1ciz_son 2ciz_bas 2ciz_son)

eğer kesişim var ise, koordinatı verecektir. Kesişim yok ise sonuç nil dir.

17.10.2008 11:39
42141    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti



Herkese merhabalar yukardaki şekli oluşturmaya çalışıyorum fakat lisp te yeni olduğum için nerde hata yaptığımı bulamadım.yardımlarınızı bekliyorum.

Kod:

(setq oldCmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)

(setq genislik (getreal "\ngenişlik:"))
(setq yukseklik (getreal "\nyükseklik:"))
(setq tirnak (getreal "\ntırnak:"))

(defun c:omega (/p0 p1 p2 p3 p4 p5 p6)
  (setq p0 (getpoint "\nOmeganın oturacağı orta noktayı seçin:"))

  (setq p1 (list (car (p0-((genislik/2)+(tirnak)))) (cadr p0) 0.0))
  (setq p2 (list (car (p0-(genislik/2))) (cadr p0) 0.0))
  (setq p3 (list (car p2) (cadr (p0+yukseklik)) 0.0))
  (setq p4 (list (car (p0+(genislik/2))) (cadr p3) 0.0))
  (setq p5 (list (car p4) (cadr p0)))
  (setq p6 (list (car (p0+((genislik/2)+(tirnak)))) (cadr p0) 0.0))

  (command "._pline" p1 p2 p3 p4 p5 p6 \r))
(setvar "cmdecho" oldCmdecho)
(princ)

17.10.2008 12:13
42142    
ehya

[90] Yönetici

Online Durumu

3192 ileti
Teknik Ressam
Ankara

lispi yeniden yazmak isterdim ancak, genel hatalarınız çok. Bunun için size hatalarınızı söyleyeyim. Buna göre tekrar değerlendirin.
komut başlangıcında değerlerin sıfırlanmasını sağlayan parantezin içindeki değerlerde / işaretini değişkenlerden ayırın. Bitişik olmasın.
Lisp yazarken 4 işlem komutlarını klasik metotlarla yazamazsınız. Eğer 2 sayıyı toplayacak iseniz örneğin (+ 2 5) şeklinde yazmalısınız.
iki sayıyı toplarken toplama işlemine tabi tutulacak sayıyı parantez içine alamazsınız. Bu şekilde yaptığınızda o değer ayrı bir işlemmiş gibi görünür.
Değer sorgulama bölümünü lispin ana bölümü içine yerleştirin.
Lisp içinde nesne ekleme varsa (line, circle, text v.s.) bu işlemleri yapmadan önce osnap seçeneklerini kapatıp lisp bitiminde tekrar açın.

Bu yazdıklarıma göre düzenlemenizi yapın. Tekrar kontrol ederiz.

17.10.2008 12:51
42147    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

peki şöyle bişey sorayım değişkenlerin isimlerinde /*- + gibi karakterler kullanabiliyormuyuz.mesela
(setq f/2 şeklinde isim verebilirimiyiz.

17.10.2008 12:54
42148    
ehya

[90] Yönetici

Online Durumu

3192 ileti
Teknik Ressam
Ankara

verebilirsin. örnek olarak verdiğin f/2 nin kodlarda bir anlamı yok. benzer şekilde değişken ismi verebilirsin.
Lisp yazımında autocad'in içinde bulunan Visuallisp editor programını kullanın. Yazarken kendi kodlamalarını farklı renkte yapar. Buna göre hata yapma olasılığınız daha azdır. Komut ismi VLIDE

17.10.2008 13:36
42151    
fatih107

[1] Yeni üye

Online Durumu

9 ileti
Gemi inş. mühendsi
İstanbul

Merhaba arkadaşlar küçük birşey soracaktım. Acaba lisp de otomatik değişken üretebilirmiyiz. Şöyle açıklayayım mesela;

(setq x (getreal "/n Kaçıncı su hattı?") burdan x atayacağımız değere göre
shx (entsel "/n Suhattını seç")) Burda sh1 sh2 sh3 gibi değişken yapılabilirmi?

veya belli bir döngüye göre sh1 sh2 sh3 gibi değişkenleri otomatik üretebilirmiyiz?Şimdiden çok teşekkürler

Dünyayı güzellik kurtaracak,bir insanı sevmekle başlayacak herşey...

17.10.2008 13:42
42152    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

Alıntı
fox :


Herkese merhabalar yukardaki şekli oluşturmaya çalışıyorum fakat lisp te yeni olduğum için nerde hata yaptığımı bulamadım.yardımlarınızı bekliyorum.

Kod:

(setq oldCmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)

(setq genislik (getreal "\ngenişlik:"))
(setq yukseklik (getreal "\nyükseklik:"))
(setq tirnak (getreal "\ntırnak:"))

(defun c:omega (/p0 p1 p2 p3 p4 p5 p6)
  (setq p0 (getpoint "\nOmeganın oturacağı orta noktayı seçin:"))

  (setq p1 (list (car (p0-((genislik/2)+(tirnak)))) (cadr p0) 0.0))
  (setq p2 (list (car (p0-(genislik/2))) (cadr p0) 0.0))
  (setq p3 (list (car p2) (cadr (p0+yukseklik)) 0.0))
  (setq p4 (list (car (p0+(genislik/2))) (cadr p3) 0.0))
  (setq p5 (list (car p4) (cadr p0)))
  (setq p6 (list (car (p0+((genislik/2)+(tirnak)))) (cadr p0) 0.0))

  (command "._pline" p1 p2 p3 p4 p5 p6 \r))
(setvar "cmdecho" oldCmdecho)
(princ)





kodu tekrar düzenledim fakat yine olmadı
Kod:

(setq oldCmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)

(defun c:omeg (/ p0 p1 p2 p3 p4 p5 p6)

  (setq p0 (getpoint "\nOmeganın oturacağı orta noktayı seçin:"))

(setq genislik (getreal "\ngenişlik:"))
(setq yukseklik (getreal "\nyükseklik:"))
(setq tirnak (getreal "\ntırnak:"))
(setq g/2 (getreal (/ genislik 2)))
(setq tg (getreal (+ tirnak tirnak genislik)))
(setq tg/2 (getreal (/ tg 2)))

  (setq p1 (list (car (- p0 tg/2)) (cadr p0) 0.0))
  (setq p2 (list (car (- p0 g/2)) (cadr p0) 0.0))
  (setq p3 (list (car p2) (cadr (+ p0 yukseklik)) 0.0))
  (setq p4 (list (car (+ p0 g/2)) (cadr p3) 0.0))
  (setq p5 (list (car p4) (cadr p0) 0.0))
  (setq p6 (list (car (+ p0 tg/2)) (cadr p0) 0.0))

  (command "._pline" p1 p2 p3 p4 p5 p6 \r))
(setvar "cmdecho" oldCmdecho)
(princ)

17.10.2008 13:51
42156    
fatih107

[1] Yeni üye

Online Durumu

9 ileti
Gemi inş. mühendsi
İstanbul

Fox arkadaşım bende başlarda aynı hatayı yapıyordum, bir şey çizdireceksen başta mutlaka osmodu kapat.

Kod:

(defun c:gvt3 ()
  (setq osx (getvar "osmode"))
  (setvar "osmode" 0)


gibi. En sonunada
Kod:

(setvar "osmode" osx)


ekleyerek osmodu tekarar acabilirsin.

Dünyayı güzellik kurtaracak,bir insanı sevmekle başlayacak herşey...

17.10.2008 14:24
42160    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

sağol fatih arkadaşım bişey daha öğrenmiş olduk sayende ama benim lisp yine çalışmadı

17.10.2008 14:37
42163    
fatih107

[1] Yeni üye

Online Durumu

9 ileti
Gemi inş. mühendsi
İstanbul

fox arkadaşım ayrıca

(setq tg/2 (getreal (/ tg 2)))

getreal sadece kullanıcıdan sayı isterken kullanılır. sen işlem yaptırıyorsan kullanılmaz.

(setq tg/2 (/ tg 2))

olması gerekir.

Bide list en sonuna 0.0 a da gerek yok

Dünyayı güzellik kurtaracak,bir insanı sevmekle başlayacak herşey...

18.10.2008 15:35
42210    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

listin sonundaki 0.0 değeri z eksenidir dimi.birde bu değerin girilmesinde bir problem çıkarmı.
anlatılanlara göre düzenlemiş olduğum lispin son hali aşağıdadır fakat yine çalışmıyor.

Kod:

(setq oldCmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq osn (getvar "osmode"))
(setvar "osmode" 0)

(defun c:ome (/ p1 p2 p3 p4 p5 p6)

  (setq pt0 (getpoint "\nOmeganın oturacağı orta noktayı seçin:"))

(setq genislik (getreal "\ngenişlik:"))
(setq yukseklik (getreal "\nyükseklik:"))
(setq tirnak (getreal "\ntırnak:"))
(setq g/2 (/ genislik 2))
(setq tg (+ tirnak tirnak genislik))
(setq tg/2 (/ tg 2))

  (setq p0 (list (car pt0) (cadr pt0)))
  (setq p1 (list (car (- p0 tg/2)) (cadr p0)))
  (setq p2 (list (car (- p0 g/2)) (cadr p0)))
  (setq p3 (list (car p2) (cadr (+ p0 yukseklik))))
  (setq p4 (list (car (+ p0 g/2)) (cadr p3)))
  (setq p5 (list (car p4) (cadr p0)))
  (setq p6 (list (car (+ p0 tg/2)) (cadr p0)))

  (command "._pline" p1 p2 p3 p4 p5 p6 \r))
(setvar "osmode" osn)
(setvar "cmdecho" oldCmdecho)
(princ)

18.10.2008 15:44
42212    
ehya

[90] Yönetici

Online Durumu

3192 ileti
Teknik Ressam
Ankara

z koordinatında hepsine sıfır vermenin bir sıkıntısı olmaz. Ancak pline'nın tüm z koordinatları aynı olmalı. pline'ın her düğüm noktasına farklı z koordinatı veremezsin.
Hatana gelince p1 noktasında yazmış olduğun kod'da (setq p1 (list (car (- p0 tg/2)) (cadr p0))) p0 değerini yani yerleşim koordinatını herhangi bir sayıdan çıkartamazsın. Burada kullanacağın x değeri ise (- (car p0) tg/2) y değeri ise (- (cadr p0) tg/2) şeklinde olmalıdır.
Diğer noktalarında da benzer hatalar var ise bunları düzenlemelisin.

18.10.2008 16:17
42215    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

ehya ve fatih107 çok sağolun arkadaşlar yardımlarınız sayesinde hallettim sonunda.çalışan kodu veriyorum.

Kod:

(setq oldCmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq osn (getvar "osmode"))
(setvar "osmode" 0)

(defun c:omega (/ p1 p2 p3 p4 p5 p6)

  (setq pt0 (getpoint "\nOmeganın oturacağı orta noktayı seçin:"))

(setq genislik (getreal "\ngenişlik:"))
(setq yukseklik (getreal "\nyükseklik:"))
(setq tirnak (getreal "\ntırnak:"))
(setq g/2 (/ genislik 2))
(setq tg (+ tirnak tirnak genislik))
(setq tg/2 (/ tg 2))

  (setq p0 (list (car pt0) (cadr pt0)))
  (setq p1 (list (- (car p0) tg/2) (cadr p0)))
  (setq p2 (list (- (car p0) g/2) (cadr p0)))
  (setq p3 (list (car p2) (+ (cadr p0) yukseklik)))
  (setq p4 (list (+ (car p0) g/2) (cadr p3)))
  (setq p5 (list (car p4) (cadr p0)))
  (setq p6 (list (+ (car p0) tg/2) (cadr p0)))

  (command "._pline" p1 p2 p3 p4 p5 p6 \r))
(setvar "osmode" osn)
(setvar "cmdecho" oldCmdecho)
(princ)

18.10.2008 16:40
42216    
ehya

[90] Yönetici

Online Durumu

3192 ileti
Teknik Ressam
Ankara

Lispinde birkaç düzenleme yaptım. Son hali olarak bunu kullanabilirsin. Geçen sefer söylediğim düzenlemeleri yapmamışsın. sistem değişkeni öğrenme ve bunları koruma bölümlerini ana bölüme yaz demiştim.
Ayrıca getreal ile değer istenildiğinde enter yapılarak geçilebiliyor. Bu şekilde olduğunda lispin hata verir. Bunun için initget fonksiyonunu yazdım.
(Inıtget 7) fonksiyonundaki 7 sayısının anlamı
1 = Enter ile geçilemez
2 = değer olarak sıfır verilemez
4 = negatif sayı verilemez.
bu değerlerin toplamı 7 dir. bu şekilde yapılabilir.

Lispinin son hali aşağıdadır.

Kod:

(defun c:omega (/ p1 p2 p3 p4 p5 p6)
(setq oldCmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq osn (getvar "osmode"))
(setq pt0 (getpoint "\nOmeganın oturacağı orta noktayı seçin:"))
(initget 7)
(setq genislik (getreal "\ngenişlik:"))
(initget 7)
(setq yukseklik (getreal "\nyükseklik:"))
(initget 7)
(setq tirnak (getreal "\ntırnak:"))
(setq g/2 (/ genislik 2))
(setq tg (+ tirnak tirnak genislik))
(setq tg/2 (/ tg 2))
  (setq p0 (list (car pt0) (cadr pt0)))
  (setq p1 (list (- (car p0) tg/2) (cadr p0)))
  (setq p2 (list (- (car p0) g/2) (cadr p0)))
  (setq p3 (list (car p2) (+ (cadr p0) yukseklik)))
  (setq p4 (list (+ (car p0) g/2) (cadr p3)))
  (setq p5 (list (car p4) (cadr p0)))
  (setq p6 (list (+ (car p0) tg/2) (cadr p0)))
(setvar "osmode" 0)
  (command "._pline" p1 p2 p3 p4 p5 p6 \r)
(setvar "osmode" osn)
(setvar "cmdecho" oldCmdecho)
(princ))

18.10.2008 20:23
42222    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

eyvallah dostum. bu initget harika oldu, okurken üçü atlamışsın diyecektim) ama işlevi ve mantığı muhteşem.


fox (20.10.2008 01:44 GMT)

20.10.2008 14:06
42251    
mzfr60

[2] Girişimci

Online Durumu

3 ileti
topograf
tokat

Degerli arkadaslar Enhanced Atrtribute ile hazirlanmis projeler var ben bunlari Netcad a atmak icin patlatmam (Explode) yapmam gerekiyor yapinca buralardaki aks ve kot lar haliyle name(adlar) geliyor. Bunu gorundugu degerlerine cevirmede yardimci olurmusunuz. yoksa tek tek yanina yazip digerini siliyoruz buda hata yapmamizi artiriyor. tesekkur ederim..

26.10.2008 12:50
42492    
miyatu

[8] Kıdemli Uzman

Online Durumu

142 ileti
Tekniker
*ISTANBUL*

bu islemi expres tools araciligi ile yapabilirsin

expres tools \ block \ explode attribute to text seceneginden patlatmak istediginiz attributeleri secin ve gerisini ona birakin...

kolay gelsin...

Kendini gelistirmeyen insanlar, bildiklerini paylasmaya korkarlar...

Önceki Sayfa [1] [2] [3] > 4 < [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [39] Sonraki Sayfa
Copyright © 2004-2018 | Tüm Hakları Saklıdır | 454 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam