07.10.2007 21:46    

özkan-wien
Arkadaslar yardimci olursaniz sevinirim,
yazdigim lisp hata veriyor nerde oldugunu bulamadim.
5 degeri toplayip genel toplama göre yüzdelerini bulmak istiyorum. Ancak
2-4-8-16 ve 32 degerlerini girdigimde toplam sonuc dogru cikmiyor. Simdiden tesekkürler. Lisp asagida degerler dialog kutusundan giriliyor.
girlen degerler ve sonuclar
2 - 0.05
4 - 0.1
8 - 0.21
16 - 0.42
31 - 0.83

Kod:

(defun c:hh (/ olderr)
(setq oldCmdecho (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(kan)
(setq top2 (+ ld cd))
(setq top3 (+ md jd))
(setq top4 (+ top2 top3))
(setq top (+ top4 bl))
(setq pld (* 100 (/ ld top)))
(setq pcd (* 100 (/ cd top)))
(setq pmd (* 100 (/ md top)))
(setq pjd (* 100 (/ jd top)))
(setq pbl (* 100 (/ bl top)))
(setq yüzde (+ (+ (+ pld pcd) (+ pmd pjd)) pbl))
(setq yyüzde (rtos yüzde 2 2))
(setq prold (rtos (/ pld top) 2 2))
(setq procd (rtos (/ pcd top) 2 2))
(setq promd (rtos (/ pmd top) 2 2))
(setq projd (rtos (/ pjd top) 2 2))
(setq probl (rtos (/ pbl top) 2 2))
(setq p1 (getpoint "\nbir nokta giriniz"))
(setq p2 (getpoint "\nbir nokta giriniz"))
(setq p3 (getpoint "\nbir nokta giriniz"))
(setq p4 (getpoint "\nbir nokta giriniz"))
(setq p5 (getpoint "\nbir nokta giriniz"))
(setq p6 (getpoint "\nbir nokta giriniz"))
(command "-style" "cosbi" "arial.ttf" "30" "" "" "" "")
(command "textstyle" "cosbi" "")
(command "text" p1 "" prold)
(command "text" p2 "" procd)
(command "text" p3 "" promd)
(command "text" p4 "" projd)
(command "text" p5 "" probl)
(command "text" p6 "" yyüzde)
(setvar "CMDECHO" oldCmdecho)
(setq *error* olderr)(princ)
)
(defun kan ()
  (setq dcl_kan (load_dialog "kan1.dcl"))
   (new_dialog "kan" dcl_kan)
(setq  xxx (dimx_tile "tmtlogo") yyy ( dimy_tile "tmtlogo"))
(start_image "tmtlogo")
(slide_image 0 0 xxx yyy "cunda")(end_image)
(action_tile "cancel" "(exit)")
(action_tile "accept" "(got)(done_dialog)")
(start_dialog)
      (unload_dialog dcl_kan)
)
(defun got ()
(setq ld (atof (get_tile "ld")))
(setq cd (atof (get_tile "cd")))
(setq md (atof (get_tile "md")))
(setq jd (atof (get_tile "jd")))
(setq bl (atof (get_tile "bl")))
)
(defun ha ()(setq dcl_id (load_dialog "kan1.dcl"))
  (if (new_dialog "ha" dcl_id)(progn
        (start_dialog)
      (unload_dialog dcl_id)
  (exit)  )))

ehya (12.09.2008 20:43 GMT)

07.10.2007 22:06    

ehya
Lispin dcl dosyasını da gönderirsen sevinirim.. Bu şekilde incelemek biraz zor olur....

08.10.2007 08:05    

ehya
Lisp dosyanda değerleri hesaplattığın yer var.

(setq prold (rtos (/ pld top) 2 2))
(setq procd (rtos (/ pcd top) 2 2))
(setq promd (rtos (/ pmd top) 2 2))
(setq projd (rtos (/ pjd top) 2 2))
(setq probl (rtos (/ pbl top) 2 2))


Bu bölümü aşağıdaki bölüm ile değiştir.

(setq prold (rtos (* 100 (/ ld (+ ld cd md jd bl))) 2 2)
procd (rtos (* 100 (/ cd (+ ld cd md jd bl))) 2 2)
promd (rtos (* 100 (/ md (+ ld cd md jd bl))) 2 2)
projd (rtos (* 100 (/ jd (+ ld cd md jd bl))) 2 2)
probl (rtos (* 100 (/ bl (+ ld cd md jd bl))) 2 2))

08.10.2007 17:12    

özkan-wien
Üstad sayende bisey daha ögrendim. Cok tesekkür ederim. slmlar.

özkan-wien (26.06.2014 07:11 GMT)

16.10.2007 22:05    

xkokarcax
arkadaşlar lütfen yardım edin, konuyu aşağıdaki link te açıkladım. acilen yardımlarınızı bekliyorum...


mekanik çap verme


Linkler güncellenmiştir

admin (09.02.2009 22:06 GMT)

20.01.2008 13:34    

serhatgokhan
Alıntı
ehya :
;;;; çoklu seçimlisini daha önceden yazmıştım... Kodlarını yazıyorum.




(defun c:yt ()
(setvar "modemacro" "Archme Design 2005 ©")
(princ "
Toplamı alınacak yazıları seçiniz:")
(setq yy_sec (ssget (list (cons 0 "TEXT"))))
(if (= yy_sec nil)
(progn)
(progn
(setq yy_topla 0)
(setq yy_c 0)
(setq yy_say (sslength yy_sec))
(while (< yy_c yy_say)
(setq e_yy_sec (ssname yy_sec yy_c))
(setq tan_e_yy_sec (cdr (assoc 1 (entget e_yy_sec))))
(setq yy_num (numberp (atof tan_e_yy_sec)))
(if (= yy_num nil)
(progn)
(progn
(setq yy_topla (+ yy_topla (atof tan_e_yy_sec)))
(setq yy_c (+ yy_c 1)))))

(setq yy_sec (entsel "
Değişecek yazıyı seçin:"))
(command "change" yy_sec "" "" "" "" "" (rtos yy_topla))
))
(princ))




Bu lisp cok guzel. Çok işime yarıyor. Ama bi sorun var: virgüllü sayıları toplarken virgülden sonraki rakamları yuvarlatıp yaklaşık bir sonuç veriyor. bu büyük bir sorun bence.

örnek: (15,21+15,35=31) sonuç 31 yanlış
doğrusu : (15,21+15,35=30,56) sonuç 30,56 doğru

Bu problemi nasıl çözeriz?

20.01.2008 14:37    

ehya
Son satırda bulunan

(command "change" yy_sec "" "" "" "" "" (rtos yy_topla))

bölümü

(command "change" yy_sec "" "" "" "" "" (rtos yy_topla 2 2))

olarak değiştir...

20.01.2008 15:07    

serhatgokhan
Alıntı
ehya :
Son satırda bulunan

(command "change" yy_sec "" "" "" "" "" (rtos yy_topla))

bölümü

(command "change" yy_sec "" "" "" "" "" (rtos yy_topla 2 2))

olarak değiştir...





Değiştirdim, ama şimdi de başka bi şey yapıyor: YT komutunu yazıyorum, toplanacak sayıları seçiyorum, DEĞİŞECEK YAZIYI SEÇİN diyor, seçiyorum, sonuç: sayıların toplamı yazmıyor ve yazı sadece sola doğru biraz dönüyor :)

20.01.2008 17:44    

ehya
Bu lisp basit bir lisp. Öyle her hataya karşı fonksiyon yazılmadı.
Bu hatanın sebebi şu. Yazının stil adını öğrenin. STYLE tablosunda bu stilin yazı yüksekliğinde bulunan sıfır değerini değiştirin. Sorun çözülür

20.01.2008 17:48    

calibra
arkadaşlar bana bir lisp lazım, ancak maalesef kendim yazamıyorum, yardımcı olabilecek birisi varsa çok memnun olurum.
istediğim lisp şöyle bişi,

3boyutlu bir nesne düşünün, mesela bir denizaltı, bunun enine belli aralıklarla kesitlerinin 3boyut olarak polyline veya spline ile çizilmiş olduğunu varsayalım. kesitler dairesel kesitler olacaktır.,
bana lazım olan şey ise bu kesitlerden istediğim yükseklik aralığında boy yönünde dış hatlarını otomatik olarak çizdirecek bir lisp. birinde gördüm bunu, eğer yazabilen olursa çok işime yarayacak

21.01.2008 07:55    

serhatgokhan
Alıntı
ehya :
Bu lisp basit bir lisp. Öyle her hataya karşı fonksiyon yazılmadı.
Bu hatanın sebebi şu. Yazının stil adını öğrenin. STYLE tablosunda bu stilin yazı yüksekliğinde bulunan sıfır değerini değiştirin. Sorun çözülür



Teşekkürler ehya, tam deddiğin gibi yaptım ve şimdi yazı dönmüyor ve toplamda doğru çıkıyor. gerçekten sağol...

26.01.2008 16:11    

alicengiz06
autocad da wordda yazdıgımız gibi mesela aşağı satır atlattıra bilirmiyiz böle bi lisp varmı yada yöntemi:

ör: yazı yazı ör: yazı yazı yazı (böle düz gidiyor-yandaki gibi nasıl yaparız.)

yazı


şimdiden teşekkürler..

26.01.2008 16:22    

ehya
alicengiz06

tam olarak anlamadım. Biraz detaylı söyleyebilirmisin?

02.02.2008 10:07    

spesifik
arkadaşlar ısıtma tesisatı hesaplarını yaparken duvar ölçülülerini kapı pencere boyutlarını tek tek giriyoruz excele.bu işlemi hızlandırmak icin bir lisp arıyorum bu konuyla alakalı bir arkadas var mı?

05.08.2008 11:21    

mehmetgrafik
örn
çalışma sayfamda ,ki kotlara 100.10 eklemek istiyorum.
bunu için sürekli hesap yapıp find yapıp değiştirmek zorumda kalıyorum.
Kot numaralarım da 98,98 ğibi değerler.Virgüllü değerleri algılayıp,verdiğim değişkeni yani rakam ile ( 100.10) toplayıp ekranda yazdımasını isitiyorum.Bu 100.10 olaraka verdiğim rakamı her defasında bana sormasa ve ben her seçtiğim sayıyı ilk giriş yaptığım sayıyla toplayıp yazarsa iyi olur. sanırsam istediğim çok basit bi şey.enkısa zamanda cevap verirseniz sevinirim....

30.08.2008 19:56    

Shotgun
hiperbol çizen bir lisp yazmaya çalışıyorum. Lispe yeni başladığım için pek başarılı olamadım. Acil lazım olduğu için yardım istiyorum. Hiperbolün de parabol gibi bir denklemi var.

(Y^2/a^2) - (X^2/b^2)=1

şeklinde denkleme göre çalışacak. Kullanıcı a ve b parametrelerini, x ekseninin hangi aralıklarında çizileceğini ve bu aralıkta ne kadar sıklıkta nokta kullanılacağını girecek. Başka yolunu bulamadığım için bu denkleme göre excelde 300 nokta oluşturdum, manuel olarak girip pedit ile birleştirip hiperbol yaptım. bu hiperbolü y-ekseni etrafında 360 derece döndürüp 3D olarak kullanmam gerekiyor. Bu şekilde yaptığım zaman çok fazla noktadan dolayı AutoCAD kilitleniyor. acil yardımlarınızı bekliyorum, teşekkürler...


Admin'e: Bir de bu sayfada konu açılmadan mesaj yazıldığı için son yazılan mesajlar en son sayfaya
düşüyor.Bu konuda bir düzeltilme yapılabilirmi.... (Lisp istekleri içinde de ayrı başlık açılabilmesi gibi)

01.10.2008 07:41    

lwend
selam arkadaslar herkese iyi bayramlar oncelikle.
herkes gibi banada bir lisp lazim.ben yurtdisinda calisaktayim ve kullandigim ekipmanlarin hepsini numaralandirarak gosteriyorum.ama ne varki araya bir ekipman girse benim tum gunum numara arttirmakla geciyor.eger imkani varsa (lve\02\$$$) bu sekilde hazirladigim bir satirda ornegin (lve\02\40 ) ekipmanindan sonra bir ekipman daha ekledim ve bundan sonra gelen ekipman numaralarini araya giren ekipman kadar otomatik arttirmanin bir yolu bir lispi yada autocad icinde bir komutu varmi acaba?
varsa eger sari ile belirttigim kisimlarda benim yazima gore degisebilecek ama sayi olarak artacak olan sadece kirmizi ile yazdigim kisim

insallah dedimi anlatabilmisimdir.yardimlariniz iin simdiden tesekkurler

23.10.2008 08:50    

ugandan
Alıntı
harunkilic :
Önerilerim şudur;

Durum 1;
Bloklar içinde attribute nesneler kullanılarak bu bilgilerin saklanması ve mevcut çizimde ya da AutoCAD oturumunda açık olan tüm çizimlerde ya da belirli bir path tanımlaması altında bulunan tüm dwg, dxf dosyalarda; bu dosyaların mevcut Acad oturumunda açık olmasına da gerek yoktur; hatta belirli AutoCAD çizimleri ile ilişkilendirilmiş Excel xls dosyalarında, "specific-özel" bir blok ismi ile ya da tüm bloklar kullanılarak bu attibute özelliklerindeki bilgiler alınabilir ve karşılaştırılabilir.

Durum 2;
Blok olmaslar dahi AutoCAD çizim içindeki nesnelerinin tümüne (!),Line, ViewPort, DimStyle, Autocad.Application.ActiveDocument.ModelSpace gibi nesneler dahil olmak üzere xData bilgileri atanıp bu bilgiler "Durum1" seçeneğinde belirtilen genişlikte sorgulanabilir. xData bilgileri nesne ile birlikte saklanır, yani dosya kaydedilip kapatıldığında bu bilgileri de kaydetmiş olursunuz.

Hali hazırda bu bahsettiklerimi uyguladığım ve bir çok iş arkadaşımın kullanımına sunduğum genel maksatlı,"Proje Yönetimi - Poz ve Antet Bilgisi Takip" uygulamalarım mevcut. AutoCAD 2007 ile kullanmaya başladığımız StyleSheet özelliği işimizi daha da kolaylaştırdı.

Bu uygulamadan "specific-özel" bir duruma göre birkaç kodu çekip kullanabiliriz.

Saygılar;

Alıntı
Sizin farklı bir çözüm öneriniz varsa paylaşmanızı umuyorum, bende merak ettim.





Durum 1 de bahsettiğiniz uygulamaları nereden bulabilirim? site içinde arama yaptığımda çıkmadı. yardımcı olursanız sevinirim.

23.10.2008 14:30    

akcin
Arkadaşlar herkese selam;
mekanik tesisat projelerinde kullanılmak üzere metraj lispi yazmaya çalıştım ama olmadı.
Yazmak istediğim lisp çizgi boyunu ölçen ve üzerine yazan
örnek ø100 50m
örnek dn50 50m
örnek 15.88x9.52 50m
yazan sonra bu metraj yazılarının hepsini seçip toplayan lisp varmıdır.
Yardımlarınız içi teşekkür ederim.

ehya (23.10.2008 15:00 GMT)

29.10.2008 10:24    

karadavut8866
slm arkadaşlar ben aranıza yeni katıldım ve bir sorum olacak mimari proje çizerken beni yavaşlatan iş ölçülendirme bunun daha kolar bir yöntemi varmı şimdiden çook tşk

Ö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] [85] [90] [95] [100] Sonraki Sayfa
Copyright © 2004-2022 SQL: 2.374 saniye - Sorgu: 98 - Ortalama: 0.02423 saniye