08.08.2016 08:44    

tempuser
Herkeze merhaba,
Elimdeki txt veya xls dosyasındaki alt alta yazılmış koordinatları okutup

Ör;
500.445,855.447,664.888
20.2455,500.400
445.588,338.777,355.927
48.774,557.99
772.899,557.666
300.555,800.555,774.999

Bu koordinatlara point atmak istiyorum.
Yardımcı olursanız sevinirim.
Şimdiden teşekkür ederim.

Travaci (08.08.2016 08:51 GMT)

09.08.2016 09:52    

Travaci
tempuser




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

09.08.2016 10:06    

tempuser
Merhaba, ilginiz için teşekkür ederim. Yukarıdaki kod z değeri olmayan koordinatlarda çalışmıyor. O sorunu giderebilirmisiniz acaba.

09.08.2016 14:12    

Travaci
tempuser


Kod:

(defun c:PntImp2 (/ fl pl ao) (vl-load-com)
  (if (setq fl (getfiled "Coordinate file" (getvar 'dwgprefix) "" 0))
    (progn
      (setq fl (open fl "r")
            ao (vla-get-activedocument (vlax-get-acad-object)))
      (vla-startundomark ao)
      (while (setq pl (read-line fl))
        (vla-AddPoint (vla-get-modelspace ao) (vlax-3d-point
          (read (strcat "(" (vl-string-translate "," " " pl) ")")))))
      (vla-endundomark ao)
      (close fl)
    )
  ) (prin1)
)

09.08.2016 14:20    

tempuser
Elinize sağlık çok güzel olmuş iki türlüde çalışıyor, teşekkürler.

09.08.2016 14:45    

Travaci
edilayk


Merhaba,
Açıkçası başkasının kodunu değiştirmek hiç keyifli deil. Baştan yazsak kısada deil ki : )
Bir gün Şahin Abi sahalara geri dönerse umarım senin için değiştirir :) Gerçi jubilesini yapmış gibi gözüküyor.
Profilinde İnşaat Mühendisi yazarken boru metrajına anlam veremedim.
Şöyle birşey versek işini görmezmi ?


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

10.08.2016 08:21    

miyatu
Boru metrajı ıcın benım kullandıgım lısp
Kod:

(defun c:bmt ()
  (if (= cap nil)
    (progn
      (setq cap 15)
    )
  )
  (if (= sys nil)
    (progn
      (setq sys "Boru")
    )
  )
  (initget 1024 "Tablo")
  (setq p1 (getpoint "\nBaslangic noktasini sec [Tablo]:"))
  (initget 1024 "Cap System")
  (while (and (/= p1 "Tablo")
      (/= nil
  (setq p2 (getpoint p1
     (strcat "\nIlk noktayi sec[Cap <"
     (rtos cap 2 0)
     ">/ System<"
     sys
     ">]:"
     )
   )
  )
      )
)
    (cond
      ((= p2 "Cap") (cap_al))
      ((= p2 "System") (sys_al))
      ((and (/= p2 "Cap") (/= p2 "System")) (ciz))
    )
    (initget 1024 "Cap System")
  )
  (if (= p1 "Tablo")
    (progn
      (dls)
    )
  )
)

(defun cap_al ()
  (setq y_cap (getreal (strcat "\nYeni capi gir<" (rtos cap 2 0) ">:")))
  (if (= nil y_cap)
    (progn y_cap cap)
  )
  (setq cap y_cap)
)

(defun sys_al ()
  (setq y_sys (getstring (strcat "\nYeni system gir<" sys ">:")))
  (if (= nil y_sys)
    (progn y_sys sys)
  )
  (setq sys y_sys)
)

(defun ciz ()
  (setq layer (strcase (strcat "metraj_" sys "_" (rtos cap 2 0))))
  (if (null (tblsearch "LAYER" layer))
    (entmake
      (list
(cons 0 "LAYER")
(CONS 100 "AcDbSymbolTableRecord")
(CONS 100 "AcDbLayerTableRecord")
(cons 2 layer)
(cons 70 0)
(cons 62 155)
(cons 6 "CONTINUOUS")
      )
    )
  )
  (setvar "CLAYER" layer)
  (command "PLINE" p1 p2 "")
  (setq p1 p2)
)

(defun dls ()
  (setq data (dosya_adi "csv"))
  (setq f (open data "w"))
  (setq p1 (getpoint "\nTablo yerlesim yerini gosteriniz:"))
  (while (/= (setq l_adi (cdr (assoc 2 (tblnext "LAYER")))) nil)
    (setq d_kodu (substr l_adi 1 6))
    (if (= d_kodu "METRAJ")
      (progn
(secim1)
      )
    )
  )
  (princ "\nmiyatu tool kullanildi...")
  (tblnext "LAYER" t)
  (PRINC)
)
(PRINC "BORU METRAJ TABLOSU YAPAN LISP YUKLENDI... [BMT]")

(defun topla ()
  (vl-load-com)
  (if (= secim nil)
    (progn
    )
    (progn
      (setq sayim (sslength secim))
      (setq toplami 0
    c 0
      )
      (while (< c sayim)
(setq teksecim (ssname secim c))
(setq tanimi (cdr (assoc 0 (entget teksecim))))
(if (or (= tanimi "LINE")
(= tanimi "LWPOLYLINE")
(= tanimi "POLYLINE")
    )
  (progn
    (setq data (vlax-ename->vla-object teksecim))
    (setq uz-bul (vla-get-length data))
    (setq toplami (+ toplami uz-bul))
  )
)
(setq c (+ c 1))
      )
      (setq uzunluk (rtos (/ toplami 1000) 2 2))

    )
  )
  (text_yaz l_adi p1 (strcat l_adi ";" uzunluk))
)

(defun secim1 ()
  (setq secim (ssget "_X" (list (cons 0 "LWPOLYLINE") (cons 8 l_adi))))
  (if (/= secim nil)
    (progn
      (setq p1 (polar p1 (dtr 270) 200))
      (topla)
    )
  )
)

(defun dosya_adi (#uzanti)
  (strcat (getvar "dwgprefix")
  (substr (getvar "dwgname")
  1
  (- (strlen (getvar "dwgname")) 3)
  )
  #uzanti
  )
)

(defun text_yaz (#t8 #t10 #t1)
  (entmake (list
     (cons 0 "TEXT")
     (cons 100 "AcDbEntity")
     (cons 8 #t8)
     (cons 100 "AcDbMText")
     (cons 10 #t10)
     (cons 1 #t1)
     (cons 40 125)
   )
  )
  (write-line (strcat l_adi ";" uzunluk) f)
)

(defun dtr (#aci)
  (* pi (/ #aci 180.0))
)

(defun secim2 ()
  (setq secim (ssget "_X" (list (cons 0 "LWPOLYLINE") (cons 8 l_adi))))
  (if (/= secim nil)
    (progn
      (setq p1 (polar p1 (dtr 270) 200))
      (setq d_kodu d_kodu1)
      (topla)
    )
  )
)


umarım işinize yarar.

15.08.2016 09:41    

falkir
Arkadaşlar merhaba
Sitede biraz araştırdım fakat bulamadım benim talep ettiğim lisp

Farklı kotta iki veya ikiden fazla text-mtext'i referans gösterdiğim kotta justify noktasına göre yazı yüksekliğine oranla arada mesafe bırakarak(bu yazıların arasındaki mesafe kullanıcı tarafından girilebilirse çok daha iyi olur) hizalamasını istediğim bir lisp varmı yada yazabilirmisiniz.

İlgilenen arkadaşlara şimiden teşekkürler.

17.08.2016 03:16    

boldpilot70
merhabalar

seçilen iki çizginin ortasına centerline atan bir lisp lazım cizgi tipi center rengi kirmizi secilen cizgilerden 10 mm asagida ve yukarida olması gerekiyor.bu işlemi kesit alınmış deliklere uyguluyorum

17.08.2016 08:20    

alumina
Alıntı
boldpilot70 :


Boyle bir lisp yok, yazacak kimsede yok, mumkunse israr eden kimsede olmasin.

17.08.2016 11:11    

boldpilot70
cok lazim oldugu icin biraz ısrarci olmustum

23.09.2016 14:55    

BLack|E
Selamlar.

Elimde poz no, malzeme ve boyun yazılı olduğu excel dosyam var.


Bu liste de yazılı olan bildileri autoCAD'te aşağıdaki görünen resim örneğinde olduğu
gibi çizdirmek istiyorum.


Excel'den autoCAD'te bir ara yüze bu değerleri yapıştırdıktan sonra oluştur dediğimde
her bir pozu tek tek oluşturacak


ve bunları alt alta ya da yan yana tek bir dwg sayfasında hepsini tutacak.


Not: Bu çizgiler PERI layer'i ile renk ise 4 numara cyan olacak.
Saygılar...

23.09.2016 19:14    

Travaci
Emredersiniz,
Peki bunun karşılığı ne olucak !

24.09.2016 06:23    

BLack|E
Böyle bir istekte bulunmayacaktım zaten. Alumina hocamın haberi var bu lisp isteğini neden buraya yazdığımdan.

BLack|E (24.09.2016 07:15 GMT)

26.09.2016 12:51    

selcukkpr
Arkadaşlar elimde bir lisp var. kimden veya nereden aldığımı hatırlamıyorum. Burada ki arkadaşlardan da almış olabilirim. Dediğim gibi hatırlamıyorum. Belki bi ihtiyacı olan vardır diye paylaşıyorum. Autocad de tıkladığın text i tıklama sırasına göre excel e yazıyor

(defun c:TExP (/ fL Tx n)
(setvar "cmdecho" 0) (command "_.undo" "group")
(setq fL (open (getfiled "Çıkış Kütüğü" "" "xls" 9) "w")
Tx (ssget (list (cons 0 "*Text"))) n -1)
(while (< (setq n (1+ n)) (sslength Tx))
(write-line (cdr (assoc 1 (entget (ssname Tx n)))) fL))
(close fL) (command "_.undo" "e") (prin1))

03.10.2016 11:21    

boomerang078
Değerli arkadaşlarım sizden bir lisp talebim olacak.
çok sayıda bloğu seçtiğimizde arasında sadece farklı isimli olanlardan bir tanesini seçen lisp olabilir mi.

Quick select in tersi aslında. Quick select ile seçilen bölgedeki aynı isimli olanları veya tüm blokları seçebiliyoruz. Benim isteğimde de farklı isimde olanlardan birer tanesini seçecek.

Şimdiden teşekkür ederim.

03.10.2016 11:49    

seboli61
Bu linkte ki lisp belki işine yarıyabilir

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




Alıntı
boomerang078 :
Değerli arkadaşlarım sizden bir lisp talebim olacak.
çok sayıda bloğu seçtiğimizde arasında sadece farklı isimli olanlardan bir tanesini seçen lisp olabilir mi.

Quick select in tersi aslında. Quick select ile seçilen bölgedeki aynı isimli olanları veya tüm blokları seçebiliyoruz. Benim isteğimde de farklı isimde olanlardan birer tanesini seçecek.

Şimdiden teşekkür ederim.

03.10.2016 15:01    

boomerang078
heyecanla girdim linke hocam :) . Ama bu değil teşekkürler.
Linkte belirlenen alanda select similar yapmışlar.

03.10.2016 21:32    

alumina
Alıntı
boomerang078 :


Kod:

(defun c:bs (/ ns ss n nm ob ls)
  (if (setq ns (ssadd) ss (ssget '((0 . "insert"))))
    (progn
      (repeat (setq n (sslength ss))
        (if (not (member (setq nm (cdr (assoc 2 (entget (setq ob (ssname ss
              (setq n (1- n)))))))) ls))
          (setq ls (cons nm ls) ns (ssadd ob ns)))
      ) (sssetfirst nil ns)
    )
  ) (princ)
)

04.10.2016 06:58    

boomerang078
hocam harikasınız. çok iyi çalışıyor. Çok teşekkürler .
Böylece çizimde kendi lejantımızı bile oluşturabiliriz hızlıca.

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