24.02.2015 11:36    

onurkurnazkasso
Alıntı
alumina :
layer adi birebir dogru mu?



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ı
LEYLO :

a degisken olmak uzere;
(setq a (cdr (assoc 5 (entget (car (entsel))))))

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ı
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.



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ı
tati931 :
Herkese iyi gunler,windows tabanindaki baskaöprogramlari lisp ile calistirabilirmiyiz.ornegin lisp ile bilgisari kapatmak,internet exploreri acmak.Tesekkurler.



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ı
alumina :
Alıntı
tati931 :
Herkese iyi gunler,windows tabanindaki baskaöprogramlari lisp ile calistirabilirmiyiz.ornegin lisp ile bilgisari kapatmak,internet exploreri acmak.Tesekkurler.



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)
)


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...

25.05.2015 07:26    

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))

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] > 37 < [40] [42] Sonraki Sayfa
Copyright © 2004-2022 SQL: 1.688 saniye - Sorgu: 99 - Ortalama: 0.01705 saniye