22.07.2014 09:18    

alfaoz
Kod:

(Defun c:MLL ()
  (setvar "cmdecho" 0)
  (setq dosyaadı (getstring "data dosyası adı giriniz : "))
  (setq dosyayeri (strcat (getvar "dwgprefix") dosyaadı ".txt"))
  (terpri)
  (setq txt (open dosyayeri "w"))
  (write-line
    (strcat "Sıra No" "\t" "Renk" "\t" "Layer" "\t" "Çevre" "\t" "Alan")
    txt
  )
  (close txt)
  (setq sırano 0)
  (while
    (setq ent (entsel "\n  .......Polyline Seçiniz  : "))
     (setq en (car ent))
     (setq enlist (entget en))
     (setq objetipi (cdr (assoc 0 enlist)))
     (if (or
   (= objetipi "LWPOLYLINE")
   (= objetipi "POLYLINE")
)
       (progn
(command "area" "o" en)
(setq a (getvar "area"))
(setq per (getvar "perimeter"))
(setq layer (cdr (assoc 8 enlist)))
(setq renk (cdr (assoc 62 enlist)))
(if (= renk nil)
   (setq renk 256)
)
(setq txt (open dosyayeri "a"))
(write-line
   (strcat (rtos (+ sırano 1) 2 0)
   "\t"
   (rtos renk 2 0)
   "\t"
   layer
   "\t"
   (rtos per 2 2)
   "\t"
   (rtos a 2 2)
   )
   txt
)
(close txt)
(setq sırano (+ sırano 1))
       )
     )
  )
)
(Defun cks ()
  (alert (strcat dosyayeri "  dosyası oluşturuldu"))
)


arkadaşlar merhaba elimdeki lispde bazı değişiklikler yapmak istiyorum yardımcı olabilecek arkadaşlar için ricalarım;
polyline ları seçtiğim zaman belirgin olmadığı için seçip seçmediğimi anlayamıyorum mümkünse polylineları seçtiğim zaman belirgin olsun. renk ve layer satırları çıkmasa, dosyayı excel olarak kaydetse ve alan ve çevreleri cm cinsinden değilde metre cinsinden yazsa yada en azından bana alan ve çevreyi yazarken çarpacağı katsayıyı sorsa harika olur.

22.07.2014 20:52    

Travaci
Kod:

(defun c:mhlst (/ er tr xl) (vl-load-com)
  (if (setq er (ssget (list (cons 0 "*Polyline"))) tr 0)
    (progn
      (setq xl (open (getfiled "" "" "xls" 9) "w"))
      (write-line (strcat "Sıra No" "\t" "Cevre" "\t" "Alan") xl)
      (repeat (sslength er)
        (write-line (strcat (rtos (1+ tr) 2 0) "\t"
          (rtos (/ (vla-get-Length (vlax-ename->vla-object
                   (ssname er tr))) 1000) 2 2) "\t"
          (rtos (/ (vla-get-Area (vlax-ename->vla-object
                   (ssname er tr))) 1000000) 2 2)) xl)
        (setq tr (1+ tr))
      ) (close xl)
    )
  ) (princ)
)

Travaci (23.07.2014 06:19 GMT)

23.07.2014 07:58    

alfaoz
Sn travaci;
Aslında tam istediğim gibi elinize sağlık. Ancak bir sorun var. alan ve uzunluk bulurken metre cinsinden çevirmiyor da sanki virgül kaydırıyor. bir de ondalık ayraç olarak nokta değil de virgül kullanmak mümkün müdür? excelde sıkıntı oluyor.

23.07.2014 08:29    

Travaci
Çiziminizde 1 metre için kaç birim giriyorsunuz ?

23.07.2014 08:39    

alfaoz
100 birim. Şöyleki mesela list ile alanı 3380387.96 uzunluğu 8640.51 olan bir polyline alanını sizin lispinizle hesapladığım zaman excel noktaya tarih atadığı için ağustos.64 mart.38 çıkıyor. ben sizin lispinizdeki (ssname er tr))) 1000) 2 2) "\t" ve (ssname er tr))) 1000000) 2 2)) xl) satırlarındaki kırmızıyla işaretli yerleri 3 yaptım. o zaman da sonuç 3380 ve 8641 çıkıyor.
benim burda bulmak istediğim değer 338,04 m2 ve 86,41 m. aslında bölge ve dil seçeneklerinden virgülü nokta yapsam çözülür ve doğrusu olur belki ama yaklaşık maliyetler hakedişler hazırlıyorum ve başka birinin bilgisayarında bu nokta ve virgüller sorumluluğu çok yüksek olan sorunlar çıkartıyor. bu yüzden alışılagelmiş yanlışdan da vazgeçemiyorum malesef.

alfaoz (23.07.2014 08:50 GMT)

23.07.2014 09:07    

Travaci
Kod:

(defun c:mhlst (/ er tr xl) (vl-load-com)
  (if (setq er (ssget (list (cons 0 "*Polyline"))))
    (progn
      (setq xl (open (getfiled "" "" "xls" 9) "w")  tr 0)
      (write-line (strcat "Sıra No" "\t" "Cevre" "\t" "Alan") xl)
      (repeat (sslength er)
        (write-line (strcat (rtos (1+ tr) 2 0) "\t"
          (vl-string-translate "." "," (rtos
            (/ (vla-get-Length (vlax-ename->vla-object
              (ssname er tr))) 100) 2 2)) "\t"
                (vl-string-translate "." "," (rtos (/ (vla-get-Area
                  (vlax-ename->vla-object (ssname er tr))) 10000) 2 2))) xl)
        (setq tr (1+ tr))
      ) (close xl)
    )
  ) (princ)
)

Travaci (10.03.2015 23:00 GMT)

23.07.2014 09:31    

alfaoz
Sn Travaci;
Emeğinize sağlık tam istediğim gibi olmuş teşekkür ederim.

05.11.2016 06:22    

3demre
:) Harika bir çalışma emeğinize sağlık acaba bunun yanında z koordinatini birlikte yazan bir işlem mevcutmudur.
Z koordinat (elevetion) çevre area emeğinize bilgi birikimizi paylaştığınız için şükranlarımı sunarım

19.08.2020 11:16    

mateus


mahal m2 bağlarken işaretli değeri sürekli girmek gerekiyor bunun daha kolay bir yöntemi var mı

05.09.2020 10:58    

makinist54
Alıntı
mateus :


mahal m2 bağlarken işaretli değeri sürekli girmek gerekiyor bunun daha kolay bir yöntemi var mı




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

> 1 <
Copyright © 2004-2022 SQL: 1.282 saniye - Sorgu: 72 - Ortalama: 0.0178 saniye