Copyright © 2004-2022 SQL: 1.206 saniye - Sorgu: 100 - Ortalama: 0.01206 saniye
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 () Fonksiyonu işinizi görecektir...(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) ) 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 () 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.(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) ) 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...
|
halilozcakir |
hocam müthişsiniz. :) elinize gözünüze sağlık.mimarlarımız teşekkür ediyorlar tabi bende minnettarım.
|