Reklam

* E Posta Adresiniz:
* Kodu Girin:

Ö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] Sonraki Sayfa
İleti Yazar
02.12.2006 20:50
11958    
kizdede

[3] Kıdemli Girişimci

Online Durumu

42 ileti
proje departmanı sorumlusu
ankara

teşekür ederim emeğine sağlık

yıldızım

04.12.2006 15:34
12021    
internetturk

[1] Yeni üye

Online Durumu

32 ileti
Mühendis
istanbul

Hacim hesabı ile ilgili bir lisp isteği.

Elimdeki 3 boyutlu bir cismin hacmini hesaplamak istiyorum.
Ama tabanından itibaren 10 cm yükseliklerle hacimler lazım.
Bunu lisple nasıl yaptırabilirim?
Eğer ekrranın bi yerine bunu yazdırabilirsem çok daha süper olacak


Not: Şu an 10 cm arayla subtract edip tek tek hacimleri yazıyorum ve büyük hacimlerde inanılmaz zor oluyor.

05.12.2006 00:19
12039    
kizdede

[3] Kıdemli Girişimci

Online Durumu

42 ileti
proje departmanı sorumlusu
ankara

arkadaşlar bir sorum olacak
lisp de ebatları her seferinde değişebilien bir dikdörgen cizdirmek ve bu dikdörtgenin boyu 2500 ve 2500 den büyük olduğu zaman tam ortadan iki ye bölecek şekilde bir cizgi cizdire bilirmiyiz
teşekürler

yıldızım

05.12.2006 02:20
12040    
harunkilic

[3] Kıdemli Girişimci

Online Durumu

29 ileti
Mak. Müh.
ANKARA

Lisp değil fakat işini görür umarım;
Genel Başlıklar > Programlama > AutoCAD VBA Makrolarını kısayol komutlarına dönüştürmek.. bölümünden yardım alarak aşağıdaki makroyu çalıştırabilirsiniz.

Kod:

Public Sub Rectangle_DivXLen_DivYLen()
''// KOD WCS'DE ÇALIŞIR
Dim Pnt1 As Variant: Dim Pnt2 As Variant
Dim Pnts(0 To 14) As Double
Static XLen As Double: Static YLen As Double
Const XYLen As Double = 2500 ''// DEĞİŞTİREBİLİRSİNİZ
Dim RecObj As AcadPolyline

On Error GoTo ExitSub_Rectangle_DivXLen_DivYLen

''// DİKTÖRTGEN KÖŞELERİ BELİRLİYORUZ ( ÖNCE SOL ÜST, SONRA SAĞ ALT KÖŞE )
Pnt1 = ThisDrawing.Utility.GetPoint(, "Specify upper left corner point (Sol Üst Nokta)")
Pnt2 = ThisDrawing.Utility.GetCorner(Pnt1, "Specify lower right corner (Sağ Alt Nokta)")
If Pnt1(0) >= Pnt2(0) Or Pnt1(1) <= Pnt2(1) Then Exit Sub

''// DİKDÖRTGENİ POLYLINE OLARAK ÇİZDİRİYORUZ
Pnts(0) = Pnt1(0): Pnts(1) = Pnt1(1): Pnts(2) = Pnt1(2)
Pnts(3) = Pnt2(0): Pnts(4) = Pnt1(1): Pnts(5) = Pnt1(2)
Pnts(6) = Pnt2(0): Pnts(7) = Pnt2(1): Pnts(8) = Pnt1(2)
Pnts(9) = Pnt1(0): Pnts(10) = Pnt2(1): Pnts(11) = Pnt1(2)
Pnts(12) = Pnt1(0): Pnts(13) = Pnt1(1): Pnts(14) = Pnt1(2)

Set RecObj = ThisDrawing.ModelSpace.AddPolyline(Pnts)

On Error Resume Next

''// 2500 SABİT ÖLÇÜSÜ YERİNE X VE Y EKSENLERİNDE AYRI AYRI ÖLÇÜLER BELİRLEYEBİLİRİZ
''// EĞER ÖLÇÜLERDEN BİRİ 0-SIFIR YA DA KENAR UZUNLUĞUNDAN FAZLA GİRİLİRSE SABİT SAYI (2500) KULLANILIR
''// KOD HER ÇAĞIRILIŞINDA BİR ÖNCEKİNDE BELİRLENEN DEĞERLER ENTER-SAĞ TUŞ İLE TEKRAR ATANABİLİR
XLen = ThisDrawing.Utility.GetDistance(Pnt1, "Division length on X-axis<" & Format(XLen, "#.##") & ">")
YLen = ThisDrawing.Utility.GetDistance(Pnt1, "Division length on Y-axis<" & Format(YLen, "#.##") & ">")

Dim lnPnt1(0 To 2) As Double: Dim lnPnt2(0 To 2) As Double

If XLen < Pnt2(0) - Pnt1(0) And XLen > 0# Then
    lnPnt1(0) = Pnt1(0) + XLen: lnPnt1(1) = Pnt1(1): lnPnt1(2) = Pnt1(2)
    lnPnt2(0) = lnPnt1(0): lnPnt2(1) = Pnt2(1): lnPnt2(2) = Pnt1(2)
        ThisDrawing.ModelSpace.AddLine lnPnt1, lnPnt2
ElseIf Pnt2(0) - Pnt1(0) > XYLen Then
    lnPnt1(0) = (Pnt1(0) + Pnt2(0)) / 2#: lnPnt1(1) = Pnt1(1): lnPnt1(2) = Pnt1(2)
    lnPnt2(0) = lnPnt1(0): lnPnt2(1) = Pnt2(1): lnPnt2(2) = Pnt1(2)
        ThisDrawing.ModelSpace.AddLine lnPnt1, lnPnt2
End If

If YLen < Pnt1(1) - Pnt2(1) And YLen > 0# Then
    lnPnt1(0) = Pnt1(0): lnPnt1(1) = Pnt1(1) - YLen: lnPnt1(2) = Pnt1(2)
    lnPnt2(0) = Pnt2(0): lnPnt2(1) = lnPnt1(1): lnPnt2(2) = Pnt1(2)
        ThisDrawing.ModelSpace.AddLine lnPnt1, lnPnt2
ElseIf Pnt1(1) - Pnt2(1) > XYLen Then
    lnPnt1(0) = Pnt1(0): lnPnt1(1) = (Pnt1(1) + Pnt2(1)) / 2#: lnPnt1(2) = Pnt1(2)
    lnPnt2(0) = Pnt2(0): lnPnt2(1) = lnPnt1(1): lnPnt2(2) = Pnt1(2)
        ThisDrawing.ModelSpace.AddLine lnPnt1, lnPnt2
End If


ExitSub_Rectangle_DivXLen_DivYLen:
       
End Sub


ehya (13.09.2008 00:38 GMT)

05.12.2006 22:56
12109    
kizdede

[3] Kıdemli Girişimci

Online Durumu

42 ileti
proje departmanı sorumlusu
ankara

emeğine sağlık bizim için uyraşmışsınız teşekürler ben bu nu nasıl çalıştırabilirim autocad 2007 kullanmaktayım

yıldızım

08.12.2006 13:09
12220    
DOLUNAY1071

[1] Yeni üye

Online Durumu

16 ileti
İNŞAAT MÜH.
ANKARA

Ya arkadaşlar benim sizden bir isteğim olacak;
bu forumda oldukça işime yarayacak bir lisp buldum kendi çapımda bir iki düzenleme yaptım ama çapım yetmedi ki yapmak istediğim şeyleri yapamadım;
Bu lips tıkladığım noktanın koordinarlarını yazıyo önce y sonra X ancak ben bunun yan yana deyil de alt alta yazmasını istiyorum arasında kesit çizgisi olsun
yani kesili gibi (karayoluyla uğraşanlar bilirler nasıl işe yarayacağını)

işte lisp

----------- ----------------- ---------------
Kod:

;;; lips Kesit Kotları
;;; GÖKHAN DOLU
;;; Tüm hakları Dolunay_1071 aittir

(defun KK (/ nokta x y nokta_y yazi aciklama)
(prompt "
10/2005 © Gd  Koordinat yazımı.")
(setvar "CMDECHO" 1)

(while (= nokta nil)
(setq nokta (getpoint "
Koordinatı alınacak noktayı girin: "))
(if (= nokta nil) (princ "Kot noktasını girin..."))
)
(setq Y (car nokta)
X (cadr nokta))
(setq aciklama (strcat "Y:"(rtos x) "_ X:" (rtos y)))
(princ aciklama)
(setq nokta_y (getpoint ( strcat "
Yazının başlangıç noktasını girin /<Koordinat noktası>: ")))
(if (= nokta_y nil) (setq nokta_y nokta))
(command "text" "S" "" nokta_y "15" "0" aciklama)
(princ)
)




--------- -------------- --------------

bunu isteğim doğrultusunda düzenleyebilecek arkadaşlar bi zahmet yardım etsin


ehya (13.09.2008 00:39 GMT)

09.12.2006 14:50
12281    
hsnulusoy

[2] Girişimci

Online Durumu

3 ileti
makine tasarım
zonduldak

Arkadaşlar bana lazım olan lisp gemi inşaa ( çelik tekne ) üzerine shell ( dış kaplama ) saclarının açılımını yapan lisp programı.Bilen veya satan arkadaşların cevap yazmalarını bekliyorum saygılar.

10.12.2006 01:30
12296    
kizdede

[3] Kıdemli Girişimci

Online Durumu

42 ileti
proje departmanı sorumlusu
ankara

arkadaşlar secdiğimiz bir cizgi yada dikdörtgen gibi bir şekli 3 cm ara ile iki defa ofset atmasını ve bu cizgilerin renk ve cizgi tiplerini değiştiren bir lisp yapıla bilirmi

yıldızım

21.12.2006 15:38
12765    
fatihgL

[1] Yeni üye

Online Durumu

2 ileti
Tekniker
İstanbul

slm arkadaslar bendede ufak ama kullanisli bir lisp var.
metraj cikaranlar icin kullanisli.

cizgileri toplayabilyorsunuz.

ii calismalar arkadaslar.(forumda belki vardir bakmadim )

Kod:

;Derya KILIÇ ağu'2000 Oflaz İnşaat
;çizimdeki toplam ARC ve LINE uzunluklarını hesaplar;
(defun c:top(/ temp sset ssl nsset i topyay topciz basaci sonaci boy bas son alfa)
  (prompt "\nUzunlukları Toplanacak Yay ve Doğruları Seçiniz.")
  (setq sset (ssget))
  (if (null sset)
    (progn
      (princ "\nBişey şeçilmedi.")
      (exit)
    )
  )
  ;; Validate selection set
  (setq ssl   (sslength sset)
        nsset (ssadd))
    (princ "\n<Seçilen objeler inceleniyor...>")
  (while (> ssl 0)
    (setq temp (ssname sset (setq ssl (1- ssl))))
    (if (or
          (= (cdr (assoc 0 (entget temp))) "LINE")
          (= (cdr (assoc 0 (entget temp))) "ARC")
           (= (cdr (assoc 0 (entget temp))) "CIRCLE")
        )
      (ssadd temp nsset)
    )
  )
  (setq ssl (sslength nsset)
        sset nsset
  )
  (print ssl)
  (princ " ARC, CIRCLE ve LINE objesi bulundu.")

   (setq i 0 topyay 0 topciz 0)
   (repeat ssl
         (setq elist (entget (ssname sset i)))
         (cond
               ((= (cdr (assoc 0 elist)) "ARC")
                      (setq   yaricap (cdr (assoc 40 elist))
                                 alfa (- (cdr (assoc 51 elist))
                                           (cdr (assoc 50 elist))
                                        )
                      )
                      (if (< alfa 0.0) (setq alfa (+ alfa (* 2 PI))))
                      (setq boy (* alfa yaricap)
                               topyay (+ topyay boy)
                      )
               );ARC
               ((= (cdr (assoc 0 elist)) "CIRCLE")
                      (setq yaricap (cdr (assoc 40 elist))
                                 boy (* 2 PI yaricap)
                                 topyay (+ topyay boy)
                       )
               );CIRCLE

              ((= (cdr (assoc 0 elist)) "LINE")
                     (setq bas (cdr (assoc 10 elist))
                                son (cdr (assoc 11 elist))
                                boy (distance bas son)
                                topciz (+ topciz boy)
                      )
              );LINE
         );cond
         (setq  i (1+ i))
   )
   (princ (strcat "\nYaylar = " (rtos topyay 2 2) " m. Doğrular = " (rtos topciz 2 2) " m. Toplam Uzunluk = " (rtos (+ topciz topyay) 2 2) " m"))
   (princ)
);defun
(princ "\n © 2000 Derya KILIÇ\n")
(princ "\ntopla.lsp yüklendi. TOP komutu ile çalıştırınız.")
(princ)


ehya (13.09.2008 00:39 GMT)

27.12.2006 16:48
13022    
ceikibin

[2] Girişimci

Online Durumu

2 ileti

Selam arkadaşlar,
pozlama yapmak için kullanacağım şöyle bir lisp yapılabilir mi?
Ekranda windows ile seçtiğim rakamları, kaçtan başlayacağını sorduktan sonra bu rakamdan başlayarak 1 er 1er artıran ve daha sonra başka seçilecek olup olmadığını sorup, var ise kaldığı yerden seçilenlere devam edecek bir lisp yapılabilir mi? (sıralama çok önemli değil fakat seçilen window da önce soldan sağa, sonra alta doğru değiştirme yapabirse çok iyi olur)

27.12.2006 19:15
13033    
harunkilic

[3] Kıdemli Girişimci

Online Durumu

29 ileti
Mak. Müh.
ANKARA

Sen algoritmayı bitirmişsin zaten, bize bişey kalmamış...

28.12.2006 01:00
13042    
hebedebe

[1] Yeni üye

Online Durumu

22 ileti
Mimar
Ankara

Alıntı
ceikibin :
Selam arkadaşlar,
pozlama yapmak için kullanacağım şöyle bir lisp yapılabilir mi?
Ekranda windows ile seçtiğim rakamları, kaçtan başlayacağını sorduktan sonra bu rakamdan başlayarak 1 er 1er artıran ve daha sonra başka seçilecek olup olmadığını sorup, var ise kaldığı yerden seçilenlere devam edecek bir lisp yapılabilir mi? (sıralama çok önemli değil fakat seçilen window da önce soldan sağa, sonra alta doğru değiştirme yapabirse çok iyi olur)



express/text/automatic text numbering
kısayolu da tcount..

kullanımı da şöyle:
text'leri seçtikten sonra neye göre sıralandıracağını sorar. select order seçerseniz seçim sırasına göre, x seçerseniz x eksenine göre, y seçerseniz de y eksenine göre sıralar.
--örneğin text'ler yanyana duruyorsa x seçersiniz ve numaralandırmayı soldan sağa doğru yapar. altalta duruyorlarsa y seçersiniz ve numaralandırma aşağıdan yukarıya yapılır.

daha sonra başlangıç numarasını ve kaçar kaçar artacağını aralarına virgül koyarak girersiniz.
--örneğin 1,2 girerseniz 1'den başlar ve ikişer ikişer artırarak numaralandırır. ya da 5,-1 girerseniz 5'ten başlayarak birer eksilterek numaralandırır.

sonra da overwrite (üzerine yaz)/prefix (önek)/suffix (son ek)/find&replace (bul&değiştir) seçenekleri çıkar.
--örneğin numaralandırmak istediğiniz text'lerin başında x yazsın istiyorsunuz. x harfini kopyalayıp komuta başlarsınız, ve prefix girersiniz. x harfini önek olarak saklar. overwrite derseniz de sadece rakamları yazar.

28.12.2006 12:57
13070    
ceikibin

[2] Girişimci

Online Durumu

2 ileti

Tcount'un kullanımı hakkında bilgi verdiğiniz için çok teşekkür ederim. Artık numaralandırmayı tam istediğim gibi yapabiliyorum.

28.12.2006 21:25
13116    
sanalmanyak

[1] Yeni üye

Online Durumu

1 ileti
Proje Tasarım
konya

merhaba arkadaşlar makina ressamıyım
imalat resimleri ciziyorum benim sorunum parçaları detaylandırdıktan sonra poz numarası veremem için kolaylık saglayck bir lisp daha önce indirmiştim bu siteden yanlış hatırlamıyorsam ismi autolisp ti böyle bir lisp varmı elinizde teşekkür ederim..

09.01.2007 12:29
13425    
poli

[3] Kıdemli Girişimci

Online Durumu

33 ileti
TEKNIK RESSAM
ISTANBUL

mrb arkadaslar benımde bır lısp e ıhtıyacım var kı proje uzerınde blok olarak lınye numarası verdıgımde 2 cı lınye aynı numara olarak verdıgımde benı uyaracak yanı bu numarayla zaten bır lınyenız var gıbısınden uyarı verecek elınde olan veya yazabılen bır arkadas yardımcı olursa cok sevınırım sımdıden tsk ler

09.01.2007 14:53
13427    
admin

[99] Üst Yönetici

Online Durumu

534 ileti
AutoCAD, 3ds Max, V-Ray Eğitmeni
İstanbul, İzmir

Bu tür bir lisp olduğunu sanmıyorum, çünkü yapmak çok kolay değil. Database kullanmak lazım.

 

Çizim Okulu Ekibi

09.01.2007 15:44
13428    
harunkilic

[3] Kıdemli Girişimci

Online Durumu

29 ileti
Mak. Müh.
ANKARA

Söylediğiniz çok kolay bir şekilde yapılabilir, fakat "lınye" nedir bilmiyorum. Konuyu net olarak anlatan özel mesaj gönderirseniz yardımcı olurum.

09.01.2007 16:10
13431    
admin

[99] Üst Yönetici

Online Durumu

534 ileti
AutoCAD, 3ds Max, V-Ray Eğitmeni
İstanbul, İzmir

Alıntı
harunkilic :
Söylediğiniz çok kolay bir şekilde yapılabilir, fakat "lınye" nedir bilmiyorum. Konuyu net olarak anlatan özel mesaj gönderirseniz yardımcı olurum.




Kolay olduğunu söylediğiniz konu şu:

Linye elektrik tesisatındaki hatlara (faz + nötr kablo hattı) verilen isimdir. AKS numarası gibi düşünebilirsiniz linye numarasını. Örneğin L1, L2, L3, L4 ... diye ardışık artarak gider ve bu yazı bir bloğun içinde olur. (Bir daire veya kare türü kuyruklu bir şekil) Şeklin içindeki yazı artarak değişecek, Her numarayı değişkenlere atayarak bellekte varsa uyar gibi bir if döngüsü oluşturulabilir ancak, bu aynı çizimi 2. kez açtığınızda işe yaramayacaktır. Çünkü değişken değerleri çizim kapatıldığında bellekten silinir. Bu nedenle database kullanmak lazım diye düşünüyorum.

Bir alternatifte hariçten bir dosyaya yazdırmak ancak oda sağda solda kalan dosyalar neticesinde sağlıklı bir çalışma ortamı ve doğru sonuç vermeyebilecektir.

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

 

Çizim Okulu Ekibi

09.01.2007 16:44
13433    
harunkilic

[3] Kıdemli Girişimci

Online Durumu

29 ileti
Mak. Müh.
ANKARA

Ö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.

09.01.2007 17:02
13434    
pantano

[2] Girişimci

Online Durumu

1 ileti
Çevre Mühendisi
İstanbul

Merhaba Arkadaşlar,

Konular birbirine karıştı gitti bence. Yeni sorular yeni madde başlıklarında tartışılsa daha güzel olmaz mı?

iyi günler

Ö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] Sonraki Sayfa
Copyright © 2004-2018 | Tüm Hakları Saklıdır | 2871 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam