Copyright © 2004-2022 SQL: 1.608 saniye - Sorgu: 99 - Ortalama: 0.01625 saniye
24.02.2015 11:36
onurkurnazkasso |
Alıntı arkadaşlar emeği geçenlere çok teşekkür ederim. bir netice aldım. layer adı bire bir olmadığı için sıkıntı oldu. şuan güzel bir şekilde işleme başladım.çok sağolun. wbb yi kullanıyorum. sonradan birde rotate işim var ama artık onu manuel yaparım.
|
27.02.2015 15:22
LEYLO |
Arkadaşlar aşağıdaki örneği verilen bir nesneye ait (5 . "28B0E") handle değerini bir değişkene atamak istiyorum. "assoc" ile denedim olmadı. Bilen varsa yardımcı olsun. Şimdiden teşekkürler.
Command: (entget(car(entsel))) Select object: ((-1 . <Entity name: 7f7a931ce60>) (0 . "INSERT") (330 . <Entity name: 7f7a930deb0>) (5 . "28B0E") (100 . "AcDbEntity") (67 . 1) (410 . "RU248-000-PD-EL-DWG-0001-L0102-00") (8 . "_00 BERK E ANTED TEXT") (100 . "AcDbBlockReference") (66 . 1) (2 . "Antet_ATT") (10 2140.62 349.772 0.0) (41 . 1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0))
|
27.02.2015 15:40
ehya |
leylo
Kod: (setq hnd (cdr (assoc 5 (entget(car(entsel))))))
|
27.02.2015 15:43
alumina |
Alıntı
|
27.02.2015 15:46
LEYLO |
Teşekkürler sağolun Hocam..
|
27.02.2015 15:57
LEYLO |
Hocam sizin yazdığınız kodu aşağıda verdim. Ben bu koddaki "point" varlık adını "insert" olarak değiştirdim ve bloğun koordinatlarını cvs dosyasına aldım. Benim biraz önce sorduğum soru bunun devamı ile alakalı . cvs dosyasına koordinatlarla birlikte varlık adınıda almak istiyorum fakat bunu beceremedim. Vaktiniz varsa yardımcı olur musunuz?
********************************************************************************************** (defun *error* (msg) (setvar "modemacro" "") (princ msg) (command "undo" "e") (prin1)) ;;;===================================================;;; ;;; Prepared by: M. Şahin Güvercin 07/05/2011 ;;; ;;; AutoCAD Drawing içinde, seçilen Layer'da bulunan ;;; ;;; Tüm Point objelerini, belirlenen Text dosyayasına ;;; ;;; x,y,z formatında yazar. ;;; ;;; www.autocadokulu.com ;;; ;;;===================================================;;; (defun c:PntExp (/ *error* rfob Noks L n fo Pivot Satir) (setvar "modemacro" "M.Sahin Guvercin") (setvar "cmdecho" 0) (command "_.undo" "group") (princ "\n Koordinatları yazılacak guruptan bir POINT seçiniz...") (setq rfob (entget (ssname (ssget ":S" (list (cons 0 "POINT"))) 0)) Noks (ssget "x" (list (assoc 0 rfob) (assoc 8 rfob))) L (sslength Noks) n -1 fo (open (getfiled "Çıkış Kütüğü" "" "" 9) "w")) (while (< (setq n (1+ n)) L) (setq Pivot (entget (ssname Noks n)) Satir (strcat (rtos (cadr (assoc 10 Pivot)) 2) "," (rtos (caddr (assoc 10 Pivot)) 2) "," (rtos (cadddr (assoc 10 Pivot)) 2))) (write-line Satir fo)) (close fo) (setvar "modemacro" "") (command "undo" "e") (prin1) )
|
27.02.2015 16:00
Travaci |
LEYLO (strcat) içine varlık adınıda ekle.
|
27.02.2015 16:09
LEYLO |
travaci,
Aşağıdaki gibi yazdım. Kayıt yapıyor fakat kaydedilen excel salt okunur açılıyor. ve içi boş. (defun *error* (msg) (setvar "modemacro" "") (princ msg) (command "undo" "e") (prin1)) ;;;===================================================;;; ;;; Prepared by: M. Şahin Güvercin 07/05/2011 ;;; ;;; AutoCAD Drawing içinde, seçilen Layer'da bulunan ;;; ;;; Tüm Point objelerini, belirlenen Text dosyayasına ;;; ;;; x,y,z formatında yazar. ;;; ;;; www.autocadokulu.com ;;; ;;;===================================================;;; (defun c:PntExp (/ *error* rfob Noks L n fo Pivot Satir) (setvar "modemacro" "M.Sahin Guvercin") (setvar "cmdecho" 0) (command "_.undo" "group") (princ "\n Koordinatları yazılacak guruptan bir INSERT seçiniz...") (setq rfob (entget (ssname (ssget ":S" (list (cons 0 "INSERT"))) 0)) Noks (ssget "x" (list (assoc 0 rfob) (assoc 8 rfob))) L (sslength Noks) n -1 fo (open (getfiled "Çıkış Kütüğü" "" "" 9) "w")) (while (< (setq n (1+ n)) L) (setq Pivot (entget (ssname Noks n)) Satir (strcat (rtos (cadr (assoc 5 Pivot)) 2) "," ;bu satırı ekledim. (rtos (cadr (assoc 10 Pivot)) 2) "," (rtos (caddr (assoc 10 Pivot)) 2) "," (rtos (cadddr (assoc 10 Pivot)) 2))) (write-line Satir fo)) (close fo) (setvar "modemacro" "") (command "undo" "e") (prin1) )
|
27.02.2015 16:25
Travaci |
Rtos string e çevirmek için kullanılır, sizin değişkeniniz zaten string oyüzden gerek yok. Cdr ise listenin ikinci elemanını almak için. Bu şekilde olucak (cdr (assoc 5 Pivot))
|
02.03.2015 08:00
LEYLO |
Tamam, oldu teşekkürler.
|
03.03.2015 13:51
ehya |
Başkasının lispi üzerinde değişiklik yapıp bu lispin yapısını bozduktan sonra düzeltilmesi gıcık bir durumdur.
Madem düzeltebilecek kadar bilginiz var. Yeniden yazmak daha doğru olmaz mı? Hiç olmazsa yalan-yanlış bilgiler üzerinden boşuna uğraşmamış oluruz..
|
03.03.2015 14:17
LEYLO |
Hocam pardon kusura bakmayın...
|
27.04.2015 08:25
miyatu |
(ssget "_X" (list (cons 5 "7C7DA")))
Seklinde secim yapmak mumkun mu? Mumkunse nerde yanlis yapiyorum. NOT: Ilgili nesne cizim icinde mevcut.
|
27.04.2015 09:52
ehya |
Bu şekilde seçim yapacaksan eğer sonuçta tek nesne elde edeceksin. Çünkü her nesnenin handle adı farklıdır.
Öyleyse (handent "7C7DA") komutunu kullanırsan, bu sayede seçilen nesne ile ilgili bilgilere daha rahat ulaşırsın.
|
27.04.2015 09:59
miyatu |
Alıntı ilginiz icin tesekkurler.
|
28.04.2015 17:46
tati931 |
Herkese iyi gunler,windows tabanindaki baskaöprogramlari lisp ile calistirabilirmiyiz.ornegin lisp ile bilgisari kapatmak,internet exploreri acmak.Tesekkurler.
|
28.04.2015 21:14
alumina |
Alıntı Kod: (defun c:ie (/)
(startapp "c:/Program Files/Internet Explorer/iexplore.exe") (princ) ) biraz daha guzellestirirsek; (defun c:cz (/ st) (if (setq st (getstring "\nSite adini giriniz:")) (startapp "c:/Program Files/Internet Explorer/iexplore.exe" st)) (princ) )
|
30.04.2015 05:19
tati931 |
Teşekkür ederim,emeğinize sağlık.
Alıntı
|
25.05.2015 06:58
LEYLO |
Herkese iyi günler, aşağıdaki lisp ben yazmaya çalıştım. Lisp projede dikdörtgen veya kare olarak gösterilen deliğin içine döşeme şaft sembolünü çiziyor.
Benim sorum şu dikdörtgen yatık pozisyonda iken bi sıkıntı yok fakat dikdörtgen dik duruyorsa taramada ve çizimde bi karışıklık oluyor. Bunun sebebi nedir ? ******************************************* (defun c:saft() (setq cmdecho (getvar "cmdecho")) (setvar "cmdecho" 0) (setq osm (getvar "osmode")) (setq n1(getpoint)) (setq n2(getcorner n1)) (setq n1x(car n1)) (setq n1y(cadr n1)) (setq n2x(car n2)) (setq n2y(cadr n2)) (setq n3(list n1x n2y)) (setq n4(list n2x n1y)) (setq en(abs(distance n1 n3))) (setq boy(abs (distance n1 n4))) (if ( < en boy) (setq k(/ en 5 )) (setq k(/ boy )) ) (cond ((and(< n1x n2x)(< n1y n2y)) (progn;1 koşul (setq n55(list(+ (car n1 ) k) (+ (cadr n1) k))) (command "._pline" n1 n4 n55 n3 n1 "") (command "-bhatch" "" "solid" n1 n55 n3 n1 "") (command "-bhatch" "" "solid" n1 n4 n55 n1 "") );progn ) ((and(< n2x n1x)(< n2y n1y)) (progn;2. koşul (setq n55(list(+ (car n2 ) k) (+ (cadr n2) k))) (command "._pline" n2 n3 n55 n4 n2 "") (command "-bhatch" "" "solid" n2 n55 n4 n2 "") (command "-bhatch" "" "solid" n2 n3 n55 n2 "") );progn ) ((and(< n1x n2x)(< n2y n1y)) (progn;3. koşul (setq n55(list(+ (car n3 ) k) (+ (cadr n3) k))) (command "._pline" n3 n2 n55 n1 n3 "") (command "-bhatch" "" "solid" n3 n55 n1 n3 "") (command "-bhatch" "" "solid" n3 n2 n55 n3 "") );progn ) ((and(< n2x n1x)(< n1y n2y)) (progn;4.koşul (setq n55(list(+ (car n4 ) k) (+ (cadr n4) k))) (command "._pline" n4 n1 n55 n2 n4 "") (command "-bhatch" "" "solid" n4 n55 n2 n4 "") (command "-bhatch" "" "solid" n4 n1 n55 n4 "") );progn ) );cond end (setvar "osmode" osm) (setvar "cmdecho" cmdecho) ) ****** Teşekkürler...
|
ehya |
LEYLO
k değerini hesaplattığınız (if ( < en boy)(setq k(/ en 5 ))(setq k(/ boy )) bölüm yerine aşağıdaki kodu yazın. Kod: (setq k (/ (min en boy) 5))
|