25.11.2014 09:53    

shadow3d
Benim bir lisp isteğim var arkadaşlar mesafeli olarak ofsetlemek istiyorum ama kullanım şekli ek de belirttiğim şekilde olsun A parçasına tıkladığımda bu parçanın uzunluğunda çizgi oluşturup B parçasının her kırıldığı mesafe boyunca öteleme yapıcak

shadow3d (03.12.2014 22:48 GMT)

25.11.2014 21:20    

ismailns
Merhabalar,
Nesting için köprü yapan bir lisp'e ihtiyacım oldu. Sitede ve yabancı kaynaklarda aradım fakat bulamadım. Manuel olarak yaptığım işlem, break komutuyla 3 mm'lik bir boşluk oluşturuyorum karşılıklı parçalar arasındaki en yakın noktadan (köşe olmamasına dikkat ediyorum. genelde düz yerlerden köprü atmaya çalışıyorum).

Daha sonra aralarına line çiziyorum.

Bu işlemleri yaptırmak mümkün müdür acaba? Bu arada parçalar pline fakat line için hazırlanırsa da patlatmakda bir sakınca yok.

Şimdiden teşekkür ederim.

30.11.2014 13:52    

calabar
Kolay gelsin Arkadaşlar,
illaki vardır diye çok aradım ama bulamadım. Paylaştığınız birçok şeye göre daha basit olacağını düşündüğüm bir isteğim var, Metraj yaparken önce çizginin adını sonrada çizgiyi seçeyim oda excel'e
K105 7,93
K192 8,14
...

gibi bu verileri listelesin. Yaygın olarak bulduğum dd metrajı çok güzel ama çizgiyi seçip ölçüsünü alamıyorum. Met diye bulduğum lispde çok güzel ama sadece ölçüleri alıyor. Bu konuda bildiğiniz bir metraj varsa paylaşabilirmisiniz yada mümkünse böyle bir çalışma hazırlayabilirmisiniz.DD lispinin mantığı çok güzel seçtiklerimizin renginide değiştirdiği için hangilerini hesaplamaya katııydık diye kafamız karışmıyor. enter'a basınca alt satıra geçiyor filan güzel, bu lispe çizgi seçtiğimizde boyunu vermesi özelliği eklesekde olur gibi ama.. yardımlarınızı bekliyorum.

Aşağıya dd lispinin kopyasını yapıştırdım.



; (princ "\t" dosya) OLARAK YAZILIRSA TAB'a basılmış gibi kaydeder....
; Dosya sonra Excell de açılırken hüçrelere bölünmüş olarak açılır...
; Yani Excell dosyası export edilmiş gibi olur.
(defun c:dd ( / )
(command "layer" "new" "metraj_layer" "c" "3" "metraj_layer" "")
(setq donati_text (ssget '((0 . "TEXT")) ) )
(if (/= donati_text nil)
(progn
(setq donati_text_adet (sslength donati_text))
(setq i 0 )
(setq metraj_dosya (strcat (getvar "dwgprefix") (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4 )) "-dd-met.xls"))
(setq dosya (open metraj_dosya "a"))
)
(progn
(princ "\n Dosyaya ara veriyoruz.......")
(setq donati_text (ssget '((0 . "TEXT")) ) )
(setq donati_text_adet (sslength donati_text))
(setq i 0 )
(setq dosya (open metraj_dosya "a"))
(princ "\n " dosya)
(princ "\n " dosya)
(princ "\n " dosya)
(princ "\n " dosya)
)
)
(while (< i donati_text_adet)
(princ (cdr (assoc 1 (entget (ssname donati_text i)))) dosya)
(setq d_eleman (entget (ssname donati_text i)))
(setq old_feature (cdr (assoc 8 d_eleman)))
(setq d_eleman (subst (cons 8 "metraj_layer") (assoc 8 d_eleman) d_eleman))
(entmod d_eleman)
;*******************************************************************************
; *
; Bu satırın sonundaki t yi n yaparsanız tüm yazılar alt alta yazılır. *
; "\t" -> "\n" *
;*******************************************************************************
(if (= i (- donati_text_adet 1))
(princ "\n" dosya)
(princ "\t" dosya)
)
;*******************************************************************************
(setq i (+ i 1))
)
(close dosya)
(princ)
)

30.11.2014 14:08    

alumina
çizimden ornek bir yer gosterirmisiniz. ornek üzerinde çizgi adi ve çizginin kendisi işaretli olsun.

01.12.2014 08:24    

neden09
(defun c:isim ( / ilk_sayi ilk_ek son_ek yaz_yuk Yerlesim ara_ek son_yazi )
(setq ilk_sayi (GetString "\n Baslama sayisi: "))
(if (= ilk_sayi "") (setq ilk_sayi "1"))
(setq ilk_sayi (atoi ilk_sayi))
(setq ilk_ek (GetString "\n ilk ek:" T))
(setq son_ek (GetString "\n Son ek:" T))
(setq yaz_yuk (GetReal "\n Yazi yuksekligi:"))
(if (= yaz_yuk nil) (SETQ yaz_yuk (* 0.2 (GETVAR "DIMSCALE"))) )
(setq yaz_aci (GetReal "\n Yazi acisi :"))
(if (= yaz_aci nil) (setq yaz_aci 0))
(setq Yerlesim (GetPoint "\n Yerlesim noktasi"))
(while (/= Yerlesim nil)
(princ "\n") (princ yerlesim)
(if (< ilk_sayi 10)
(setq ara_ek (strcat "0" (itoa ilk_sayi)))
(setq ara_ek (itoa ilk_sayi))
)
(setq son_yazi (strcat ilk_ek ara_ek son_ek))
(command "text" "mc" Yerlesim yaz_yuk yaz_aci son_yazi)
;(command "circle" Yerlesim (* 1.2 yaz_yuk) )
(setq ilk_sayi (+ ilk_sayi 1))
(setq Yerlesim (GetPoint "Yerlesim noktasi..1:"))
(if (= Yerlesim nil)
(progn
(if (= yaz_aci 0) (setq yaz_aci 90) (setq yaz_aci 0))
(setq Yerlesim (GetPoint "Yerlesim noktasi..2:"))
)
)
)
)


Merhaba Arkadaşlar...
Tek hat şeması oluştururken çok zamanı alan, karmaşık ve zorlandığım bir iş için sizden yardım istiyorum. Yapılabilir mi yada nasıl yapılır bilemiyorum. Bu konuda yardımcı olabilirseniz sevinirim.
Projede seçmiş olduğum bloklu sembolleri satır olarak yani yan yana kopyalanacak ve altına sıralı bir şekilde adres numarası verecek. Sıralı numara yazarken yukarıdaki lispe göre verirse çok sevinirim.
Şimdiden teşekkürler...

01.12.2014 11:19    

calabar
Alıntı
alumina :
çizimden ornek bir yer gosterirmisiniz. ornek üzerinde çizgi adi ve çizginin kendisi işaretli olsun.


Çizimi buraya yüklemeyi bilmiyorum. İnşaat betonarme metrajlarında çizgilerimizin yanında yazı ile çizimden bağımsız şekilde K101, K102, K157 vs. adlar yazar benim istediğim önce adı seçeceğim sonra çizgiyi seçeceğim sonrada enter deyip bir sonrakine geçeceğim.

04.12.2014 04:23    

alumina
Alıntı
calabar :
Alıntı
alumina :
çizimden ornek bir yer gosterirmisiniz. ornek üzerinde çizgi adi ve çizginin kendisi işaretli olsun.


Çizimi buraya yüklemeyi bilmiyorum. İnşaat betonarme metrajlarında çizgilerimizin yanında yazı ile çizimden bağımsız şekilde K101, K102, K157 vs. adlar yazar benim istediğim önce adı seçeceğim sonra çizgiyi seçeceğim sonrada enter deyip bir sonrakine geçeceğim.



Asagidaki programi kullanabilirsiniz. Cikis yapmadiginiz surece sürekli calisir. Bos bir yere tiklarsaniz veya enter a basarsaniz programdan cikis yapilir.

Kod:

(defun c:alumina ()
(vl-load-com)
(if
(null (tblsearch "layer" "Metraj_Layer"))
(entmake (list (cons 0 "layer") (cons 100 "AcDbSymbolTableRecord") (cons 100 "AcDbLayerTableRecord") (cons 2 "Metraj_Layer") (cons 62 1) (cons 70 0))))
(while
(setq tx (entsel "\nSelect text:"))
(while
(/= (cdr (assoc 0 (entget (car tx)))) "TEXT")
(setq tx (entsel "\nSelect text:")))
(setq ln (entsel "\nSelect line:"))
(while
(/= (cdr (assoc 0 (entget (car ln)))) "LINE")
(setq ln (entsel "\nSelect line:")))
(vla-put-layer (vlax-ename->vla-object (car tx)) "Metraj_Layer")
(vla-put-layer (vlax-ename->vla-object (car ln)) "Metraj_Layer")
(setq dosya (open (strcat (getvar "dwgprefix") (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "_Metraj.xls") "a"))
(write-line (strcat (vla-get-textstring (vlax-ename->vla-object (car tx))) "\t" (rtos (vla-get-length (vlax-ename->vla-object (car ln))) 2)) dosya)
(close dosya))
(princ))

05.12.2014 07:58    

calabar
Çok teşekkür ederim. Ellernize sağlık, fakat bu lisp ile alakalı bir iki isteğim daha olacaktı, birincisi elde ettiğimiz değerlerin standart olarak hepsinin virgülden sonra iki rakamlı yada üç rakamlı olmasını sağlayabilirmiyiz. (Hatta imkansız galiba ama değerlerde nokta yerine virgül kullanılmasını sağlayabilirmiyiz). İkinci olarakta, bir text'i seçtiğimizde seçili görünmesini sağlayabilirmiyiz.

05.12.2014 07:58    

calabar
Çok teşekkür ederim. Ellernize sağlık, fakat bu lisp ile alakalı bir iki isteğim daha olacaktı, birincisi elde ettiğimiz değerlerin standart olarak hepsinin virgülden sonra iki rakamlı yada üç rakamlı olmasını sağlayabilirmiyiz. (Hatta imkansız galiba ama değerlerde nokta yerine virgül kullanılmasını sağlayabilirmiyiz). İkinci olarakta, bir text'i seçtiğimizde seçili görünmesini sağlayabilirmiyiz.

05.12.2014 10:58    

alumina
Nokta yerine virgül yazdırmak sorun değil, sonuçta 4-5 satir ilave edilecek ama Mehmet Sahin GUVERCIN (Prohibite) hocanin daha once belirttigi gibi yazilan kodlarda nokta yerine virgül yazdirilmasi tercih edilmemektedir. Bunun yerine excelin hücre ayarlarindan düzeltme yapabilirsiniz. Diger isteklerinize gelince, maalesef yazilan her kod için sonradan sunuda yapsaydı, bunuda yapsaydı gibi isteklerin ardi arkasi kesilmediği için kod revizyonu yapmıyoruz. Onun yerine bastan ne istediğinizi tek seferde belirtin Iyi calismalar.

08.12.2014 09:30    

calabar
Alıntı
alumina :
Nokta yerine virgül yazdırmak sorun değil, sonuçta 4-5 satir ilave edilecek ama Mehmet Sahin GUVERCIN (Prohibite) hocanin daha once belirttigi gibi yazilan kodlarda nokta yerine virgül yazdirilmasi tercih edilmemektedir. Bunun yerine excelin hücre ayarlarindan düzeltme yapabilirsiniz. Diger isteklerinize gelince, maalesef yazilan her kod için sonradan sunuda yapsaydı, bunuda yapsaydı gibi isteklerin ardi arkasi kesilmediği için kod revizyonu yapmıyoruz. Onun yerine bastan ne istediğinizi tek seferde belirtin Iyi calismalar.


Sorun değil. Yaptığınız için çok çok teşekkür ederim. Verileri excel de yerinekoy komutu ile dönüştürerek kullanıyorum. Ellerinize ve aklınıza sağlık. İyi çalışmalar.

08.12.2014 09:49    

alumina
Isinize yaramasina sevindim. Evet virgulden sonra 2 basamak almasi olayini atlamisim. Asagida düzeltilmis halini gorebilirsiniz. Text i de seciyor. sectikten sonra text e zoom larsaniz aslinda secildiğini goreceksiniz. Mantik olarakta secmeden islem yapamaz degil mi?

Kod:

(defun c:alumina ()
(vl-load-com)
(if
(null (tblsearch "layer" "Metraj_Layer"))
(entmake (list (cons 0 "layer") (cons 100 "AcDbSymbolTableRecord") (cons 100 "AcDbLayerTableRecord") (cons 2 "Metraj_Layer") (cons 62 1) (cons 70 0))))
(while
(setq tx (entsel "\nSelect text:"))
(while
(/= (cdr (assoc 0 (entget (car tx)))) "TEXT")
(setq tx (entsel "\nSelect text:")))
(setq ln (entsel "\nSelect line:"))
(while
(/= (cdr (assoc 0 (entget (car ln)))) "LINE")
(setq ln (entsel "\nSelect line:")))
(vla-put-layer (vlax-ename->vla-object (car tx)) "Metraj_Layer")
(vla-put-layer (vlax-ename->vla-object (car ln)) "Metraj_Layer")
(setq dosya (open (strcat (getvar "dwgprefix") (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "_Metraj.xls") "a"))
(write-line (strcat (vla-get-textstring (vlax-ename->vla-object (car tx))) "\t" (rtos (vla-get-length (vlax-ename->vla-object (car ln))) 2 2)) dosya)
(close dosya))
(princ))

08.12.2014 09:50    

Travaci
alumina


Kod:

(defun c:alumina (/ *error* tx ln)
(defun *error* (er) (if tx (redraw (car tx) 4)) (setq *error* nil))
(vl-load-com)
(if
(null (tblsearch "layer" "Metraj_Layer"))
(entmake (list (cons 0 "layer") (cons 100 "AcDbSymbolTableRecord") (cons 100 "AcDbLayerTableRecord") (cons 2 "Metraj_Layer") (cons 62 1) (cons 70 0))))
(while
(setq tx (entsel "\nSelect text:"))
(while
(/= (cdr (assoc 0 (entget (car tx)))) "TEXT")
(setq tx (entsel "\nSelect text:"))) (redraw (car tx) 3)
(setq ln (entsel "\nSelect line:"))
(while
(/= (cdr (assoc 0 (entget (car ln)))) "LINE")
(setq ln (entsel "\nSelect line:"))) (redraw (car tx) 4)
(vla-put-layer (vlax-ename->vla-object (car tx)) "Metraj_Layer")
(vla-put-layer (vlax-ename->vla-object (car ln)) "Metraj_Layer")
(setq dosya (open (strcat (getvar "dwgprefix") (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "_Metraj.xls") "a"))
(write-line (strcat (vla-get-textstring (vlax-ename->vla-object (car tx))) "\t" (rtos (vla-get-length (vlax-ename->vla-object (car ln))) 2 2)) dosya)
(close dosya))
(princ))

11.12.2014 10:38    

calabar
Alıntı
Travaci :
alumina


Kod:

(defun c:alumina (/ *error* tx ln)
(defun *error* (er) (if tx (redraw (car tx) 4)) (setq *error* nil))
(vl-load-com)
(if
(null (tblsearch "layer" "Metraj_Layer"))
(entmake (list (cons 0 "layer") (cons 100 "AcDbSymbolTableRecord") (cons 100 "AcDbLayerTableRecord") (cons 2 "Metraj_Layer") (cons 62 1) (cons 70 0))))
(while
(setq tx (entsel "\nSelect text:"))
(while
(/= (cdr (assoc 0 (entget (car tx)))) "TEXT")
(setq tx (entsel "\nSelect text:"))) (redraw (car tx) 3)
(setq ln (entsel "\nSelect line:"))
(while
(/= (cdr (assoc 0 (entget (car ln)))) "LINE")
(setq ln (entsel "\nSelect line:"))) (redraw (car tx) 4)
(vla-put-layer (vlax-ename->vla-object (car tx)) "Metraj_Layer")
(vla-put-layer (vlax-ename->vla-object (car ln)) "Metraj_Layer")
(setq dosya (open (strcat (getvar "dwgprefix") (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)) "_Metraj.xls") "a"))
(write-line (strcat (vla-get-textstring (vlax-ename->vla-object (car tx))) "\t" (rtos (vla-get-length (vlax-ename->vla-object (car ln))) 2 2)) dosya)
(close dosya))
(princ))



çok çok teşekkür ederim arkadaşlar. Hepinizin ellerine sağlık

11.12.2014 10:42    

alumina
:) kolay gelsin.

12.12.2014 14:58    

sensey06
Merhaba arkadaşlar,

Benim boru metrajı çıkarmak için bir lisp'e ihityacım var toplam boru uzunluğunu istemiyorum. Benim istediğim boru çapını seçip arkasından uzunluğunu ölçüp bu seçtiğim çapı ve uzunluğu excele atacak bir lisp. Buradan edindiğim havalandırma metrajı çıkarmak için yazılan lisp'in boru metrajına uyarlanmış hali eğer bu konuda yardımcı olabilecek bir arkadaş varsa çok yardımcı olmuş olur şimdiden teşekkürler.

Saygılarımla. Herkese iyi çalışmalar.

12.12.2014 23:55    

ProhibiT
Alıntı
sensey06 :
Merhaba arkadaşlar,

Benim boru metrajı çıkarmak için bir lisp'e ihityacım var toplam boru uzunluğunu istemiyorum. Benim istediğim boru çapını seçip arkasından uzunluğunu ölçüp bu seçtiğim çapı ve uzunluğu excele atacak bir lisp. Buradan edindiğim havalandırma metrajı çıkarmak için yazılan lisp'in boru metrajına uyarlanmış hali eğer bu konuda yardımcı olabilecek bir arkadaş varsa çok yardımcı olmuş olur şimdiden teşekkürler.

Saygılarımla. Herkese iyi çalışmalar.





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

14.12.2014 11:22    

raskoln
resimdeki gibi otomatik ölçülendirme yapacak lisp yapılabilir mi?

14.12.2014 12:56    

alumina
yapilabilir :)

14.12.2014 13:17    

raskoln
peki rica etsem yapabilirmisiniz.:D:)

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