12.04.2013 06:57    

ozgurayhan
Merhaba arkadaşlar;

Kalıp metrajı yapan lisp mevcut mu acaba ?

Eğer yoksa şöyle birşey yapılabilir mi acaba, ilk tıklamada kiriş ismini, ikinci tıklamada kirişin yan kanat uzunluğunu yazıp excel dosyasına atan. Örneğin ilk tıklamada 1. hücreye kiriş adı K101 2. hücreye kiriş uzunluğu 5 gibi olucak şekilde lisp yapılması mümkün müdür. Lisp konusunda uzman arkadaşlardan yardım bekliyorum.

İlgilendiğiniz için teşekkür ederim

Saygılarımla;

12.04.2013 12:56    

pyrzms
Bu lisp senin işini görür. Kiriş ismini seçtikten sonra kanat uzunluğu sonrada kanat yüksekliğini seçersin. sonrada komutu bitirebilirsin. seçtiğin textler excele aktarılır. Sadece texti excele aktarıyor.Ben bu lispi donatı metrajı için kullanıyorum.



Kod:

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

13.04.2013 05:43    

ozgurayhan
Bende bu şekilde yapıyorum ama bunu yapabilmek için kirişin kanat uzunluğunu önceden oraya yazmam gerekiyor. sonra tıklayarak excele akatarıyorum. Benim istediğim kiriş kanat çizgisini (line, arc vs.) tıklayıp uzunluğunu alsın ve excele aktarsın istiyorum.

> 1 <
Copyright © 2004-2022 SQL: 1.101 saniye - Sorgu: 48 - Ortalama: 0.02293 saniye