24.03.2010 15:42    

oğlak
Bu sitede 2d kapı lispi var. sadece 2d içinse hazır çizimlerden çizimine yerleştirebilirsin ben öyle yapıyorum. Çok da uğraştırmıyor.



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

24.03.2010 16:55    

oğlak
Kapı pencere detayları var onlardan indirip bloklarına ekle (create) sonra insert ile onları bulundukları adreslerden çağırabilirsin


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


bu da benden umarım işine yarar
ebatları uymazsa Scale ile büyütebilir ya da küçültebilirsin kolay gelsin.

24.03.2010 21:34    

onderylmz
Merhaba Arkadaşlar,

Mekanik tesisat çalışmalarında kolon şeması açma işlemi oldukça zaman alır.
Bu konuda Hazırlanan bir lispp var mı
var ise paylaşırmısınız ?

Yok ise
aklıma şöyle bir kolaylık geldi

Plan görünüşünde yer alan

RADYATÖR TİPİ ,
Mahal Adı
Mahal Numarası

Gibi bilgileri teker teker tıkladığımızda , bir dikdörtgenin üzerine RADYATÖR TİPİİ
İçine de diğer bilgileri yazacak bir lisp olabilir mi

YArdımlarınız için şimdiden teşekkürler

ehya (26.03.2010 20:26 GMT)

26.03.2010 15:32    

halilozcakir
arkadaşlar yay ölçülendirmede bir baştan bir sonran birde bükülme noktasından ortadan vereceğimiz referasnlarla yayı ölçen lisp varmıdır.

halilozcakir (26.03.2010 16:02 GMT)

26.03.2010 23:49    

ProhibiT
Yanlış anlamadımsa;
Kod:

(defun c:3NYay ()
  (setq StartP (getpoint "\nYay başlangıç noktasını seçiniz...")
        EndP   (getpoint "\nYay bitim noktasını seçiniz...")
        MidP   (getpoint "\nYay orta noktasını seçiniz...")
        Aci    (angle StartP EndP)
  )
  (command "ARC" StartP MidP EndP)
  (setq Arc    (entget (entlast))
        StartA (cdr (assoc 50 Arc))
        EndA   (cdr (assoc 51 Arc))
        ArcL   (rtos (* (/ (- EndA StartA) (* 2 pi)) (* 2 pi (cdr (assoc 40 Arc))) 2 2))
  )
  (setq Yer (getpoint "\nYay ölçüsünün yazılacağı yeri seçiniz..."))
  (entmake (list (cons 0 "TEXT") (cons 10 Yer)
                 (cons 40 (* (getvar "dimscale") (getvar "dimtxt")))
                 (cons 1 ArcL) (cons 50 Aci) (cons 72 1) (cons 11 Yer)
           )
  )
  (prin1)
)
Fonksiyonu işinizi görecektir...

Kolay gelsin.

27.03.2010 09:48    

halilozcakir
hocam elinize emeğinize sağlık,
mimarlarımızın isteği bu şöyle; yay ölçülendirmek için, diğer ölçülendirmelerdeki gibi iki nokta seçemiyoruz yayı seçmemiz gerekiyor .
yayımızın (aslında bu bir duvar) aralarında pencere vb var yaylar kopuk,yay çizip ölçebiliyoruz.çizgiyi seçmek zorundayız yani.

yada autocad2010 da bu çizgiyi seçme zorunluluğu hala devam ediyor mu.bir baştan bir sondan bir ortadan bombeden referans vererek ölçülendirebiliyor muyuz?

Download link:

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

27.03.2010 12:20    

ProhibiT
Gönderdiğiniz çizimi de görünce problemi şimdi anlayabildim ancak :)

Başlangıç, Bitiş ve ortasından bir noktası seçilen tek parça yay çizilir.
Bu Yay seçilerek DimArc uygulanır, ve büyük yay silinir.

Bunu AutoLisp ile yazarken bazı sıkıntılı durumlar var.
AutoLisp içinden (command "_dimarc ... kullanmanın sıkıntılarını daha önce karşılaştığım için biliyorum.
Bunun için (entmake ... ile yapmak lazım, ArcDimension ile Arc objesinin (assoc 330 ... gurup kodlu bölümlerini ilişkilendirmek, biribiriyle akrabalıklarını tanımlamak gerekiyor...

Neyse epeyce sesli (yani yazılı) düşündüm :)
Ortada bir Arc objesi olmadan, 3 nokta seçerek ArcDimension verecek bir AutoLisp fonksiyonu bu akşam yazıp paylaşabilirim diye umuyorum.

Kolay gelsin...

29.03.2010 14:35    

halilozcakir
heyecanla bekliyoruz hocam elleriniz gözleriniz dert görmesin :):)

29.03.2010 15:15    

ProhibiT
merhaba halilozcakir :)
Aslına unutmadım, o akşam eve gidince baktım,
nasıl yazılabilir diye kafa yordum biraz.
Ama ummadığım bir problemle krşılaştım.
DimArc objesi (assoc 330... ile Arc objesine bağlı
(assoc 360 ile bir Block_record'a bağlı
Block_record (assoc 330 ile Table objsine
Table objesi (assoc 330 ile Dictionary objesine
Dictionary objesi de (assoc 330 ile SortentsTable objesine bağlı...

Yani hiyerarşinin en sondaki objenin Entity Name'ini bilmek lazım ki;
bir üstündekini yapabilelim... bu da mümküngörünmüyor...

Kısacası tam bir gayya kuyusuna düştüm :(
Standard AutoCAD komutlarıyla bir çözüm aramak daha mı akıllıca?
Bunu düşünmeye başladım...

Kolay Gelsin...

29.03.2010 15:31    

Harbi65
Standart komutları kullanarak yapmak daha pratik çözüm olacaktır bana göre...
Bu konuda ben şunu düşündüm...
Yay için 3 nokta gösterdikten sonra buraya yeni bir yarcımcı arc çizdirsek...
Dimarc komutuyla bu çizilen arc' ı kendisi seçerek ölçüsünü versin diye düşündüm. Ancak ben mi hata yapıyorum anlamadım.... Lisp için Dimarc çalıştığında son çizilen nesneyi seçtiremedim...

Entmake kullanarak oluşturulacaksa gösterilen 3 noktanın (yani oluşacak yayın) merkezini falan hesaplatmak gerekiyor...

29.03.2010 18:13    

ProhibiT
Harbi65 hocam, entlast veya entname ile seçtiremiyoruz, arc üzerinde bir nokta ile entsel ile seçtirmek gerekiyor. Entmake ile oluşturmak için de yukarıda yazdığım gibi, assoc 330 ve assoc 360 larla Block_record, Table, Dictionary ve Sortents Table objesine bağlamak gerekiyor. Bu da demek oluyor ki bu NonGraphic objeleri create etmek gerekiyor ki aralarındaki bağlantılar kurulabilsin.

Arc objesi;
((-1 . <Entity name: 7ffffb05ad0>) (0 . "ARC") (330 . <Entity name: 7ffffb039f0>) (5 . "225") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbCircle") (10 46.376 34.5314 0.0) (40 . 33.942) (210 0.0 0.0 1.0) (100 . "AcDbArc") (50 . 0.465458) (51 . 2.64421)) şeklinde tanımlı

DimArc objesi;
((-1 . <Entity name: 7ffffb05af0>) (0 . "ARC_DIMENSION") (330 . <Entity name: 7ffffb039f0>) (5 . "227") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbDimension") (280 . 0) (2 . "*D2") (10 117.756 213.717 0.0) (11 49.4885 229.514 0.0) (12 0.0 0.0 0.0) (70 . 37) (1 . "") (71 . 5) (72 . 1) (41 . 1.0) (42 . 291.826) (73 . 0) (74 . 0) (75 . 0) (52 . 0.0) (53 . 0.0) (54 . 0.0) (51 . 0.0) (210 0.0 0.0 1.0) (3 . "ISO-25") (100 . "AcDbArcDimension") (13 166.069 94.6487 0.0) (14 -71.3367 98.4384 0.0) (15 46.376 34.5314 0.0) (70 . 0) (40 . 0.465458) (41 . 2.64421) (71 . 0) (16 166.069 94.6487 0.0) (17 -71.3367 98.4384 0.0) (18 0.0 0.0 0.0) (42 . 0.0) (50 . 0.0)) şeklinde tanımlı

Her ikisinde de 330 anahtarlı Entity Name'e dikkatinizi çekerim.

her ikisinin de refere ettiği Block_Record;
((-1 . <Entity name: 7ffffb039f0>) (0 . "BLOCK_RECORD") (5 . "1F") (102 . "{ACAD_XDICTIONARY") (360 . <Entity name: 7ffffb05660>) (102 . "}") (330 . <Entity name: 7ffffb03810>) (100 . "AcDbSymbolTableRecord") (100 . "AcDbBlockTableRecord") (2 . "*Model_Space") (360 . <Entity name: 7ffffb03a00>) (340 . <Entity name: 7ffffb03a20>) (70 . 0) (280 . 1) (281 . 0)) ile tanımlı.

Burada 330 ile bağlı Table Block_Record;
((-1 . <Entity name: 7ffffb03810>) (0 . "TABLE") (2 . "BLOCK_RECORD") (330 . <Entity name: 0>) (5 . "1") (100 . "AcDbSymbolTable") (70 . 3))

gene ACAD_XDICTIONARY bölümünde 360 ile bağlı Dictionary;
((-1 . <Entity name: 7ffffb05660>) (0 . "DICTIONARY") (330 . <Entity name: 7ffffb039f0>) (5 . "1CE") (100 . "AcDbDictionary") (280 . 1) (281 . 1) (3 . "ACAD_SORTENTS") (360 . <Entity name: 7ffffb05960>))

ve nihayet Sortentstable;
((-1 . <Entity name: 7ffffb05960>) (0 . "SORTENTSTABLE") (5 . "20E") (102 .
"{ACAD_REACTORS") (330 . <Entity name: 7ffffb05660>) (102 . "}") (330 . <Entity name: 7ffffb05660>) (100 . "AcDbSortentsTable") (330 . <Entity name: 7ffffb039f0>)) ile tanımlıdır.

Burada problem, Entity Name'leri Entmake te kullansak biz veremiyoruz, AutoCAD Kendisi otomatik olarak veriyor...

Bu yoldan gitmek epeyce karmaşık oluyor, daha sade kestirme yollar bulmak lazım. Onun için Temel AutoCAD Komutlarıyla bir çözüm üretmeye çalışmak daha mantıklı geliyor...

30.03.2010 06:14    

halilozcakir
ProhibiT hocam , Harbi65 ilginize teşekkür ederim, umarım autocad 20111 (!) de çözer emeğinize sağlık yorduk sizi.

30.03.2010 08:26    

onderylmz
Arkadaşlar Tıklanan Bir Değeri İkinci Tıklama ile taşıyan
lisip


Örnek :

çizim içersindeki "YEMEKHANE " yazısını ilk tıkladığımızda

Başka Bir yerdeki "xxxxxx" yazısını tıkladığımızda "YEMEKHANE" olarak değiştirebilen lisp e ihtiyacım var
yardımlarınızı beklerim

30.03.2010 08:47    

ProhibiT
merhaba onderylmz :)
Kod:

(defun c:otxt ()
  (setq reft (entget (car (entsel "\nReferans Text'i seçiniz..."))))
  (if reft (setq yazi (assoc 1 reft)) (exit))
  (while (setq tart (car (entsel "\nDeğiştirilecek Text'i seçiniz...")))
    (setq tart (entget tart) tart (subst yazi (assoc 1 tart) tart))
    (entmod tart) (entupd (cdr (assoc -1 tart)))
  )
  (prin1)
)
Referans Text'i seçtikten sonra değiştirilecek Text seçtiğin sürece, her seçtiğin Text'i değiştirerek devam eder, Enter ya da sağ tuş girince fonksiyon sonlanır.
Umarım doğru çalışır, test etmedim, doğrudan buraya yazdım...
Kolay Gelsin.

30.03.2010 09:05    

halilozcakir
OTXT çalışıyor ..kullanışlı hemen arşivime aldım teşekkürler

30.03.2010 09:49    

onderylmz
Öncelikle teşekkür ederim çok işimize yarayacak .

Komuttan çıkmadan bir hamle seçim bir hamle de değiştirme
olabilir mi ?
Çünkü bu tür işlemler serii oluyor
teşekkürler

30.03.2010 14:44    

ProhibiT
Kod:

(defun c:otxt ()
  (while (setq reft (entget (car (entsel "\nReferans Text'i seçiniz..."))))
    (redraw (cdr (assoc -1 reft)) 3)
    (setq yazi (assoc 1 reft)
          tart (entget (car (entsel "\nDeğiştirilecek Text'i seçiniz...")))
          tart (subst yazi (assoc 1 tart) tart))
    (entmod tart) (entupd (cdr (assoc -1 tart))) (redraw (cdr (assoc -1 reft)) 4))
  (prin1)
)

Siz sıkılıncaya kadar seç-değiştir işlemine devam eder... :)

30.03.2010 17:38    

onderylmz
sevgili ProhibiT
İlgine çok teşekkür ederim eline sağlık

02.04.2010 07:16    

ProhibiT
Merhaba halilozcakir :)
Ümitlerin kesildiği Lisp fonksiyonu yazdım. Çok basit usullerle yazdım. Umarım istediğiniz gibi olmuştur.
Kod:

;;; 3 Point Arc Dimension. Prepared by; M.S.Guvercin for halilozcakir
(defun c:3PAD ()
  (setq StartP (getpoint "\nYay başlangıç noktası: ")
        MidP   (getpoint "\nYay ortasında bir nokta: ")
        EndP   (getpoint "\nYay bitim noktası: ")
        DimY   (getpoint "\nYay ölçüsünün yeri: ")
  )
  (command "ARC" StartP MidP EndP)
  (setq Arc (entlast) YayS (list Arc DimY))
  (command "dimarc" YayS DimY)
  (command "erase" Arc "")
  (prin1)
)

Kolay Gelsin...

02.04.2010 07:45    

halilozcakir
hocam müthişsiniz. :) elinize gözünüze sağlık.mimarlarımız teşekkür ediyorlar tabi bende minnettarım.

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] > 13 < [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] [95] [100] Sonraki Sayfa
Copyright © 2004-2022 SQL: 1.206 saniye - Sorgu: 100 - Ortalama: 0.01206 saniye