* 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
03.04.2012 08:20
68380    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Alıntı
SaiL :
forumda biraz araştırdım; ya tam istediğim lisp yok, yada ben bulamadım.

elimde koordinatlı proje var, yalnız; koordinatları (ham data) yazılı değil.
...
yok mu arkadaşlar yardımcı olabilecek kimse.
şayet forumda böyle bir lisp varsa (ben bulamadım), link verir misiniz...


Açıklayıcı Video
Kod:

;|---------------------------------------------------------------------------|
|  Sırasıyla seçilen noktaların koordinatlarını, belirlenen numaradan       |
|  başlayarak numaralandırıp, Nokta Numaraları ve Koordinatlarını tablo     |
|  halinde yazar. Tablodaki Nokta Numaraları, X, Y ve Z koordinat değerleri |
|  nokta numarası yazısına field ile bağlanırlar. Nokta numaraları ve       |
|  noktaların konumları değiştirildiğinde, ilk regen işleminde Tablodaki    |
|  değerler güncellenirler.                                                 |
|       Hazırlayan: M. Şahin Güvercin  02/04/2012  www.autocadokulu.com     |
|___________________________________________________________________________|;
(write-line "Hazırlayan: M. Şahin Güvercin - www.autocadokulu.com")
;|___________________________________________________________________________|;
(defun c:PcT2 (/ *error* TxH dpL NuM NkS aC MsF PvT DoB n p0 p1 ObjID)
  (setq ocm (getvar "cmdecho")) (setvar "cmdecho" 0) (command "_.undo" "group")
  (defun *error* (msg) (setvar "dimzin" odz) (princ msg) (command "undo" "e")
   (setvar "cmdecho" ocm) (setq oNuM NuM) (prin1)) (vl-load-com)
  (setq odz (getvar "dimzin")) (setvar "dimzin" 0)
  (if (not oTxH) (setq oTxH (* (getvar "dimtxt") (getvar "dimscale"))))
  (if (not odpL) (setq odpL 2)) (if (not oNuM) (setq oNuM 1))
  (setq TxH (getreal (strcat "\n         Yazı yüksekliği <" (rtos oTxH) ">:"))
        dpL (getint (strcat "\n  Ondalık basamak sayısı <" (itoa odpL) ">:"))
        NuM (getint (strcat "\nBaşlangıç Nokta Numarası <" (itoa oNuM) ">:")))
  (if TxH(setq oTxH TxH)(setq TxH oTxH))(if dpL(setq odpL dpL)(setq dpL odpL))
  (if NuM (setq NuM (1- NuM)) (setq NuM (1- oNuM)))
  (setq NkS '((0.0 0.0 0.0) (40.0 0.0 0.0) (40.0 -4.0 0.0) (0.0 -4.00 0.0)
              (0.0 -2.0 0.0) (40.0 -2.0 0.0) (6.25 -2.0 0.0) (6.25 -4.0 0.0)
              (17.5 -2.0 0.0) (17.5 -4.0 0.0) (28.75 -2.0 0.0) (28.75 -4.0 0.0)
              (20.0 -1.5 0.0) (0.75 -3.5 0.0) (12.0 -3.5 0.0) (23.25 -3.5 0.0)
              (34.5 -3.5 0.0) (4.0 -3.5 0.0) (15.5 -3.5 0.0) (26.75 -3.5 0.0)
              (38.0 -3.5 0.0) (20.0 -2.0 0.0)) aC (* pi 1.5) MsF (* 2 TxH)
        PvT (entlast) DoB (ssadd) n 10)
  (entmake (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 67 0)
        (cons 100 "AcDbPolyline") (cons 90 4) (cons 70 1) (cons 43 0.0)
        (cons 38 0.0)(cons 39 0.0) (cons 10 (nth 0 NkS)) (cons 10 (nth 1 NkS))
        (cons 10 (nth 2 NkS)) (cons 10 (nth 3 NkS))))
  (entmake (list (cons 0 "LINE") (cons 10 (nth 4 NkS)) (cons 11 (nth 5 NkS))))
  (entmake (list (cons 0 "LINE") (cons 10 (nth 6 NkS)) (cons 11 (nth 7 NkS))))
  (entmake (list (cons 0 "LINE") (cons 10 (nth 8 NkS)) (cons 11 (nth 9 NkS))))
  (entmake (list '(0 . "LINE") (cons 10 (nth 10 NkS)) (cons 11 (nth 11 NkS))))
  (entmake (list (cons 0 "TEXT") (cons 10 (nth 12 NkS)) (cons 40 1.0)
      '(1 . "Koordinat Tablosu") '(50 . 0.0) '(72 . 1)(cons 11 (nth 12 NkS))))
  (entmake (list (cons 0 "TEXT") (cons 10 (nth 13 NkS)) (cons 40 1.0)
                 (cons 1 "Nokta") (cons 50 0.0)))
  (entmake (list (cons 0 "TEXT") (cons 10 (nth 14 NkS)) (cons 40 1.0)
                 (cons 1 "x") (cons 50 0.0)))
  (entmake (list (cons 0 "TEXT") (cons 10 (nth 15 NkS)) (cons 40 1.0)
                 (cons 1 "y") (cons 50 0.0)))
  (entmake (list (cons 0 "TEXT") (cons 10 (nth 16 NkS)) (cons 40 1.0)
                 (cons 1 "z") (cons 50 0.0)))
  (while (setq PvT (if PvT (entnext PvT)(entnext)))(ssadd PvT DoB))
  (while (not (minusp (setq n (1- n))))
    (setq PvT (vlax-ename->vla-object (ssname DoB n)))
    (vla-transformby PvT (vlax-tmatrix (list (list TxH 0 0 0) (list 0 TxH 0 0)
                 (list 0 0 TxH 0) (list 0 0 0 1)))))
  (setq NkS (mapcar '(lambda (pr) (list (* (car pr) TxH) (* (cadr pr) TxH)
                                  (getvar "elevation"))) NkS) p0 (nth 21 NkS))
  (while (/= 3 (car (setq p1 (grread T 4 0)))) (setq p1 (cadr p1) n 10)
    (while (not (minusp (setq n (1- n))))
      (setq PvT (vlax-ename->vla-object (ssname DoB n)))
      (vla-transformby PvT (vlax-tmatrix (list
       (list 1 0 0 (- (car p1) (car p0))) (list 0 1 0 (- (cadr p1) (cadr p0)))
       (list 0 0 1 (- (caddr p1) (caddr p0))) (list 0 0 0 1))))) (setq p0 p1))
  (setq NkS (mapcar '(lambda (pr) (list (- (+ (car pr) (car p0)) (* 20.0 TxH))
         (+ (cadr pr) (cadr p0) (* 2.0 TxH)) (+ (caddr pr) (caddr p0)))) NkS))
  (while (setq NkT (getpoint "\r    Nokta Seçiniz: "))
    (entmake (list (cons 0 "LINE")(cons 10 (nth 3 NkS))(cons 11 (nth 2 NkS))))
    (setq ObjID (itoa (vla-get-ObjectID (vlax-ename->vla-object (entlast))))
          PvT (entget (ssname DoB 0))
     PvT (subst(cons 10(list(car(setq p1(polar(nth 3 NkS) aC MsF)))(cadr p1)))
                (cons 10 (list (car (nth 3 NkS)) (cadr (nth 3 NkS)))) PvT)
     PvT (subst(cons 10(list(car(setq p1(polar(nth 2 NkS) aC MsF)))(cadr p1)))
                    (cons 10 (list (car (nth 2 NkS)) (cadr (nth 2 NkS)))) PvT)
   PvT (entmod PvT) PvT (entupd(cdr(assoc -1 PvT))) PvT (entget(ssname DoB 2))
          PvT (subst (cons 11 (polar (nth 7 NkS) aC MsF)) (assoc 11 PvT) PvT)
   PvT (entmod PvT) PvT (entupd(cdr(assoc -1 PvT))) PvT (entget(ssname DoB 3))
          PvT (subst (cons 11 (polar (nth 9 NkS) aC MsF)) (assoc 11 PvT) PvT)
   PvT (entmod PvT) PvT (entupd(cdr(assoc -1 PvT))) PvT (entget(ssname DoB 4))
          PvT (subst (cons 11 (polar (nth 11 NkS) aC MsF)) (assoc 11 PvT) PvT)
          PvT (entmod PvT) PvT (entupd (cdr (assoc -1 PvT)))
   NkS (mapcar '(lambda (pr) (list (car pr)(- (cadr pr) MsF)(caddr pr))) NkS))
   (entmake(list(cons 0 "TEXT")(cons 40 TxH)(cons 1 (itoa(setq NuM (1+ NuM))))
                   (cons 10 NkT) (cons 50 0.0)))
    (entmake (list (cons 0 "TEXT") (cons 10 (nth 17 NkS)) (cons 40 TxH)
                   (cons 1 (strcat "%<\\AcObjProp Object(%<\\_ObjId "
     (setq ObjID (itoa (vla-get-ObjectID (vlax-ename->vla-object (entlast)))))
       ">%).TextString>%")) (cons 11 (nth 17 nks)) (cons 50 0.0) (cons 72 2)))
    (entmake (list (cons 0 "TEXT") (cons 10 (nth 18 nks)) (cons 40 TxH)
                   (cons 1 (strcat "%<\\AcObjProp Object(%<\\_ObjId " ObjID
                      ">%).InsertionPoint \\f \"%lu2%pt1%pr" (itoa dpL) ">%"))
                   (cons 11 (nth 18 nks)) (cons 50 0.0) (cons 72 2)))
    (entmake (list (cons 0 "TEXT") (cons 10 (nth 19 nks)) (cons 40 TxH)
                   (cons 1 (strcat "%<\\AcObjProp Object(%<\\_ObjId " ObjId
                      ">%).InsertionPoint \\f \"%lu2%pt2%pr" (itoa dpL) ">%"))
                   (cons 11 (nth 19 nks)) (cons 50 0.0) (cons 72 2)))
    (entmake (list (cons 0 "TEXT") (cons 10 (nth 20 nks)) (cons 40 TxH)
                   (cons 1 (strcat "%<\\AcObjProp Object(%<\\_ObjId " ObjId
                      ">%).InsertionPoint \\f \"%lu2%pt4%pr" (itoa dpL) ">%"))
        (cons 11 (nth 20 nks)) (cons 50 0.0) (cons 72 2))) (command "_.Regen"))
  (setvar "dimzin" odz) (setq oNuM (1+ NuM)) (command "undo" "e")
  (setvar "cmdecho" ocm) (prin1))
;|___________________________________________________________________________|;

Where there is a will, there is a way... Beğenmek için anlamak lazım...

03.04.2012 08:24
68381    
SaiL

[5] Uzman

Online Durumu

73 ileti
topoğraf
adana

LİSP i yükledim ama çalıştıramadım, PCT2 yazıyorum ama tanımıyor.
Autocad 2011 kullanıyorum, version ile alkalı olabilir mi?
açıklayıcı videodaki autocad, 2013..

ESKİ DOST OLUR; ESKİ ARKADAŞ OLMAZ...

03.04.2012 10:12
68382    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Fonksiyon kodlarının siteye upload edilmesi sırasında tırnak içindeki tırnaklarda hatalar olabiliyor. 03.04.2012 saat 07:20 de (mesajınızdan 4 dakika önce) güncelledim, tekrar indirip deneyin. Her türlü AutoCAD versiyonunda problemsiz çalışır...

Where there is a will, there is a way... Beğenmek için anlamak lazım...

03.04.2012 11:18
68384    
id

[2] Girişimci

Online Durumu

14 ileti
mühendis
diyarbakır

ProhibiT hocam,

Bu kodu ekrandaki sıfır kotunda yer alan Z değerlerini hem seçecek hemde Z değerlerini kotuna taşıyıp, ilgili kota nokta atacak şekilde değiştirmek mümkün mü?

03.04.2012 12:27
68387    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Bahsettiğiniz konuyla bu fonksiyonun ilgisini ben kuramadım açıkçası.

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

linkine göz atarsanız, orada bahsettiğiniz işlemi (ilgili kota nokta koyma hariç) yapan fonksiyonu bulabilirsiniz. 2009 yılında, izahlı Türk musıkisi dersleri formatında detaylı açıklamalarıyla yazmışız

Where there is a will, there is a way... Beğenmek için anlamak lazım...

03.04.2012 13:49
68390    
SaiL

[5] Uzman

Online Durumu

73 ileti
topoğraf
adana

Alıntı
ProhibiT :
Fonksiyon kodlarının siteye upload edilmesi sırasında tırnak içindeki tırnaklarda hatalar olabiliyor. 03.04.2012 saat 07:20 de (mesajınızdan 4 dakika önce) güncelledim, tekrar indirip deneyin. Her türlü AutoCAD versiyonunda problemsiz çalışır...



ben mi yanlış bişey yapıyorum acaba, yine tanımıyor komutu.
autocad de (appload) yazıp, lispi bulup (load) diyerek yüklüyorum. kapatıp PTC2 yazıyorum, ama (unknown command) diyor..

ESKİ DOST OLUR; ESKİ ARKADAŞ OLMAZ...

03.04.2012 14:47
68391    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Appload ile yüklerken, diyalog penceresinin sol alt köşesinde, resimde işaretlediğim gibi, "... successfully loaded" mesajını aldığınızdan emin olun.

Ya da, Lisp dosyasını ...\Support klasörüne kopyaladıktan sonra, AutoCAD komut satırından; (Load "PcT-2.Lsp")<┘ şeklinde komut girerek yükleyebilirsiniz. PcT-2.Lsp yerine, Lisp dosyasına kendi verdiğiniz adı kullanmalısınız.


ProhibiT (03.04.2012 14:53 GMT)

Where there is a will, there is a way... Beğenmek için anlamak lazım...

03.04.2012 20:20
68392    
SaiL

[5] Uzman

Online Durumu

73 ileti
topoğraf
adana

Alıntı
ProhibiT :
Appload ile yüklerken, diyalog penceresinin sol alt köşesinde, resimde işaretlediğim gibi, "... successfully loaded" mesajını aldığınızdan emin olun.

Ya da, Lisp dosyasını ...\Support klasörüne kopyaladıktan sonra, AutoCAD komut satırından; (Load "PcT-2.Lsp")<┘ şeklinde komut girerek yükleyebilirsiniz. PcT-2.Lsp yerine, Lisp dosyasına kendi verdiğiniz adı kullanmalısınız.



"... successfully loaded" mesajı altta yazıyordu. Lisp dosyasının ismini değiştirdim, oldu.
teşekkür ederim emekleriniz için...

ESKİ DOST OLUR; ESKİ ARKADAŞ OLMAZ...

03.04.2012 23:16
68394    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Forumda paylaşılan Lisp fonksiyonaların buradan nasıl alınıp, Lisp dosyalarının oluşturulacağı o kadar çok anlatıldı ki... Probleminizi dosya adını değiştirirken farkında olmadan halletmişsiniz. Sıkça karşılaşılan bir hatayı yaptığınızı düşünüyorum.

Buradan copy (ctrl+c) ile aldığınız kodu, notpad açıp paste (ctrl+v) yaptıktan sonra dosyanızı -.Lsp uzantısıyla kaydetmeniz gerekiyor. Resimde işaretlediğim kısımda, Tüm dosyalar (*.*) veya, All types of Files (*.*) seçili olduğundan emin olun. Eğer, Metin Begeleri (*.txt) veya, Text Files (*.txt) seçili olursa, siz Dosya Adı yazarken, PcT-2.Lsp yazdığınızda, dosyanız PcT-2.Lsp.TxT şeklinde kaydedilir. Bu dosyayı da, AutoCAD'e yükleyemezsiniz.

Aslında en garantili yol, notpad kullanmadan Visual Lisp Editor kullanmaktır.
- Forumdan, Kod bölümünü mouse ile işaretleyip copy (ctrl+c) uygulayın.
- AutoCAD komut satırından, VLIDE<┘ girerek Visual Lisp Editor'ü açın.
- Files menüsünden "New" seçerek açtığınız yeni dosyaya Paste (ctrl+v) kodu alın.
- Files menüsünden "Save" seçerek, Kayıt türünü "Lisp Source Files" olarak belirleyip kaydedin.

Where there is a will, there is a way... Beğenmek için anlamak lazım...

04.04.2012 18:49
68401    
odrcmn

[3] Kıdemli Girişimci

Online Durumu

27 ileti
topoğraf
bursa

Vertex ekleme
3d polyline cizerken veye secilen 3d polyline nin kesdigi tum polyline kesim noktalarina vertex ekliyebilecek bir lisp bahar ayina girdigimiz su gunler de iyi olurdu..

Saygilarimla

04.04.2012 22:28
68404    
asencer

[3] Kıdemli Girişimci

Online Durumu

25 ileti
makina
istanbul

herkese merhabalar;
aklıma gelen bir fikri paylaşmak istedim, belki yapılabilirliği vardır.

seçtiğim komuta göre çizim yaparken layer otomatik atansın.

örneğin; line ile çizgiler çizerken layerım otomatik olarak line layerına geçsin mesela sonra ölçülendirmek için dimension linkine tıkladığımda layer dimension layerına geçsin..

şimdiden herkese teşekkürler.
saygılar

10.04.2012 16:42
68449    
doygun77

[2] Girişimci

Online Durumu

18 ileti
haritacı
ist

Autocad'de Array komutuna benzeyen bir komut veya lisp varmı?
rotate copy işlemi var ama coklu Kopyalama yapamadığı için işlemler cok uzun sürüyor, kopyalama mesafesi eşit olmadığı için array komutunu kullanamıyorum.
Daire veya circle merkezi etrafında kopyalama yapılırken, merkeze görede kopyalanacak nesnenin acısal olarakda dönmesi gerekiyor.

Saygılarımla


doygun77 (14.04.2012 10:22 GMT)

12.04.2012 22:51
68482    
borakemal

[1] Yeni üye

Online Durumu

7 ileti
harita mühendisi
istanbul

Kolay gelsin arkadaşlar acaba elinde kesişen polylineların kesişim noktalarına nokta atayan bir lispi olan var mı? Şimdiden teşekkürler

13.04.2012 13:55
68491    
ozandurmus

[2] Girişimci

Online Durumu

4 ileti
Teknik Ressam
St. Petersburg

Merhaba arkadaslar
Bi sorum olucakta entmake ile gas linetype yaratamadim bunun entmake kodlari varmi acaba
yapmak istedigim gas line seklinde cizgi tipleri olusturmak gas yerine o an istedigim karakteri girmek istiyorum yardimci olursaniz sevinirim.
Kolay Gelsin...

13.04.2012 15:21
68492    
ehya

[90] Yönetici

Online Durumu

3192 ileti
Teknik Ressam
Ankara

ozandurmus

Bu şekilde çizgitipi oluşturamazsın. GAS LINE ile ilgili çizgi tipi kodu, acad.lin dosyası içerisinde mevcut. Sürekli bu dosyaya ek yapıp çıkartman sorunlara yol açacaktır.

13.04.2012 19:11
68493    
kdemirkaya

[2] Girişimci

Online Durumu

24 ileti
Harita Müh.
istanbul

merhaba;

Elimdeki çizimde Z değerleri "0.00" olan point objeleri ve bu point objelerinin hemen yanıda ise point objesinin Z değerleri text objesi olarak bulunmakta. toplu seçim ile bu text oblerindeki değerleri hemen yanındaki noktanın Z değeri olarak atamak mümkün olabilirmi...

teşekkürler...

14.04.2012 04:45
68494    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Sorunuzda "Point objesinin Hemen yanındaki Text" tanımsız bir kavram. Foksiyonun yazılabilmesi için, Point objeleriyle Text objeleri arasında bir ilinti kurulması gerekir. Algoritma kurululurken, "hemen yanındaki" şeklinde bir tanımlama olmaz. Bunu, point objesinie en kısa mesafedeki Point objesi şeklinde tanımlamak mümkün olabilir. Bu durumda da, sık noktaların olduğu bölümlerde, harita ölçeğine de bağlı olarak, komşu Point'in Text objesi daha yakın olabilir! Benzer bir fonksiyonu

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

linkinde paylaşılmıştı.

Where there is a will, there is a way... Beğenmek için anlamak lazım...

19.04.2012 13:01
68527    
yyatkin

[2] Girişimci

Online Durumu

6 ileti
restoratör mimar eğitmen
istanbul

Bu kadar hızlı bilgi akışının döndüğü bir yer yoktur heralde emeği geçen herkese teşekkür ederim. Benimde bir konuda fikrinizi almam gerekli elimde ki halihazır haritalara eski jpg formatında haritaları oturtmam gerekiyor bunun için align komutunu kullanıyorum fakat tam istediğim gibi oturmuyor sizce align komutunda referanse sayısını arttıp ona göre oturtan bir lisp varmıdır? yani en azından resmin 4 köşesini referans göstersem süper olurdu


yyatkin (20.04.2012 11:47 GMT)

21.04.2012 12:47
68563    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Bir arkadaşımızın özel mesaj yazıp sorduğu soruyu cevaplarken, neredeyse 25 yıl önce yazdığım bir fonksiyon aklıma geldi. İlginç bir örnek olabilir düşüncesiyle burada da paylaşmak istedim.
Kod:

;;;=========================================================================;;;
;;;     CLP.LSP                                                             ;;;
;;;     Secilen dogrunun her iki ucundan belirlenen miktar kadar kirpar,    ;;;
;;;     kirpma miktari negatif olabilir, bu durumda dogru belirlenen        ;;;
;;;     miktar kadar her iki ucundan uzatilir                               ;;;
;;;     Hazırlayan M.S.Güvercin                                             ;;;
;;;=========================================================================;;;
(defun C:CLP (/ km e n1 n2 aci)
   (setvar "cmdecho" 0)  (command "undo" "group") (if (= ekm nil) (setq ekm 5))
   (if (not (setq km (getreal (strcat "\nKirpma miktari <" (rtos ekm) ">:"))))
     (setq km ekm)) (setq e (car (entsel "\nKirpilacak dogruyu seciniz...")))
   (while e (setq e (entget e) n1 (cdr (assoc 10 e)) n2 (cdr (assoc 11 e))
                  aci (angle n1 n2)
                  n1 (polar n1 aci km) n2 (polar n2 (+ pi aci) km)
                  e (subst (cons 10 n1) (assoc 10 e) e)
                  e (subst (cons 11 n2) (assoc 11 e) e)
                  e (entmod e) e (entupd (cdr (assoc -1 e)))
                  e (car (entsel "\rYeni dogru seciniz..."))))
   (setq ekm km) (command "undo" "e")  (prin1)
)

Where there is a will, there is a way... Beğenmek için anlamak lazım...

21.04.2012 15:41
68568    
yyatkin

[2] Girişimci

Online Durumu

6 ileti
restoratör mimar eğitmen
istanbul

ProhibiT hocam güzel paylaşım..
LENGTHEN/ total komutu gibi çalışıyor tek far kı tek yöne değilde her iki ıçtan eşit miktarda ekleyip çıkarması

Ö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 | 2261 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam