20.01.2018 10:01    

ibrikci
Alıntı
alumina :
Alıntı
ibrikci :

text dosyasindan ilk uc sirayi kopyalayip buraya atar misiniz. "nn" nin ne oldugu anlasilmadi.



İlginiz için çok teşekkür ederim.
Nn nokta numarası (olmasada olur)
Y koordinatı, X koordinatı, Çap
Arada şu an boşluk var ama programlama açısından nasıl kolay oluyorsa o şekilde düzenleyebilirim.
txt(boşluk veya virgül ile ayrılmış), xls vs...

501 481601.644 4412514.360 3
502 481606.195 4412515.331 2.5
503 481612.532 4412516.368 10

20.01.2018 17:57    

makinist54
Alıntı
ibrikci :
Alıntı
alumina :
Alıntı
ibrikci :

text dosyasindan ilk uc sirayi kopyalayip buraya atar misiniz. "nn" nin ne oldugu anlasilmadi.



İlginiz için çok teşekkür ederim.
Nn nokta numarası (olmasada olur)
Y koordinatı, X koordinatı, Çap
Arada şu an boşluk var ama programlama açısından nasıl kolay oluyorsa o şekilde düzenleyebilirim.
txt(boşluk veya virgül ile ayrılmış), xls vs...

501 481601.644 4412514.360 3
502 481606.195 4412515.331 2.5
503 481612.532 4412516.368 10


excel de fx (formül) kulanarak elinde bulunan verileri
C 481601.644,4412514.36 d 3
C 481606.195,4412515.331 d 2.5
C 481612.532,4412516.368 d 10
olacak şekilde veri haline getirmek ve autocadde commad satırına yapıştırman yeterlidir

benim formulde e2 (c)cap komutu , b2 y kordinati, c2 x kordinati, d cap veya yarı cap degiskeni , d2 ise yaricapdeğeri
=E2&" "&B2&","&C2&" d "&D2

20.01.2018 19:39    

ibrikci
Çok teşekkür ederim makinist54, tek tek girmeyi düşünüyordum. :)




Alıntı
makinist54 :
Alıntı
ibrikci :
Alıntı
alumina :
Alıntı
ibrikci :

text dosyasindan ilk uc sirayi kopyalayip buraya atar misiniz. "nn" nin ne oldugu anlasilmadi.



İlginiz için çok teşekkür ederim.
Nn nokta numarası (olmasada olur)
Y koordinatı, X koordinatı, Çap
Arada şu an boşluk var ama programlama açısından nasıl kolay oluyorsa o şekilde düzenleyebilirim.
txt(boşluk veya virgül ile ayrılmış), xls vs...

501 481601.644 4412514.360 3
502 481606.195 4412515.331 2.5
503 481612.532 4412516.368 10


excel de fx (formül) kulanarak elinde bulunan verileri
C 481601.644,4412514.36 d 3
C 481606.195,4412515.331 d 2.5
C 481612.532,4412516.368 d 10
olacak şekilde veri haline getirmek ve autocadde commad satırına yapıştırman yeterlidir

benim formulde e2 (c)cap komutu , b2 y kordinati, c2 x kordinati, d cap veya yarı cap degiskeni , d2 ise yaricapdeğeri
=E2&" "&B2&","&C2&" d "&D2

23.02.2018 11:42    

aleksi
Merhaba arkadaşlar. Elimden geldiğince aradım ancak istediğim bir lisp bulamadım. Yazabilmek için de daha çok yolum olduğu kanısına vardıktan sonra pes ederek yardımlarınızı rica ediyorum.
İhtiyacım olan şey havalandırma kanal borularının metrekarelerini hesaplayabilmek için belirlediğim çizgiyi bir hücreye, sonrasında seçecek olduğum text i de hemen yanına ekleyebilecek bir lisp. Bunların dahilinde çizim içerisinde ki dirsek kısımlarının ekseninden (ya da dirseğin bulunduğu alanın hipotenüsüne) line oluşturabilecek bir lisp.
Yardımcı olabilirseniz ya da sayfada bulunan lispin linkini gönderebilirseniz çok memnun kalırım. Teşekkürler
edit: KaMe lipsini bulmuş bulunmaktayım an itibari ile. ancak hala redüksiyon ve dirseklere bir çözüm bulmakta zorlanıyorum. Yapılacak olan işlemler çok olduğu için işi biraz otomasyona bırakıp sadece kontrol kısmıyla ilgilenmek daha avantajlı şuan proje için. Bu yüzden redüksiyonlarda dikey dirseklerde ise çapraz bir çizgi çekebilecek bir lips oluşturulabilir mi diye sorumu değiştirmek isterim

aleksi (23.02.2018 12:20 GMT)

26.02.2018 13:53    

onderbengu05
Merhaba arkadaşlar,

Bir lispin içinde kullanılmak üzere dynamic blok olarak seçilen bir nesnenin uzunluğunun bir değişkene atandığı yönergeyi gönderebilir misiniz?

Ekte dinamik blok çizimini gönderiyorum.
401437-dinamik-blok.dwg

26.02.2018 14:02    

Travaci
onderbengu05


Kod:

(if (setq ob (car (entsel "\nSelect obj:")))
  (foreach ab (vlax-invoke (vlax-ename->vla-object ob) 'getdynamicblockproperties)
    (if (eq (vla-get-propertyname ab) "Distance1")
      (setq xx (vlax-variant-value (vlax-get-property ab 'value)))
    )
  )
)

26.02.2018 14:25    

onderbengu05
Alıntı
Travaci :
onderbengu05


Kod:

(if (setq ob (car (entsel "\nSelect obj:")))
  (foreach ab (vlax-invoke (vlax-ename->vla-object ob) 'getdynamicblockproperties)
    (if (eq (vla-get-propertyname ab) "Distance1")
      (setq xx (vlax-variant-value (vlax-get-property ab 'value)))
    )
  )
)




Yardımlarınız için teşekkür ederim
İşyerindeki bilgisayarıma Zwcad var getdynamicblokcproperties komutunu kabul etmiyor. Bunun duşunda bir çözümü var mıdır.
Program Quickproperties menüsünden metrajı girip radyatör boyutunu uzatıp kısaltıyor.

Saygılar...

27.02.2018 08:02    

Travaci
onderbengu05


Dxf kodlarıylada ulaşılıyor ama incelemek lazım, müsait bir zamanda bakarız umarım.

06.03.2018 06:44    

elaura
Merhaba arkadaşlar.

Seçtiğim öğeleri belirli bir layer'a aktaracak bir lisp arıyorum. Forumda bu konuyla ilgili arama yaptım fakat bi sonuca ulaşamadım. Yardımcı olabilirseniz sevinirim.

Not: Komutu çalıştırdıktan sonra uygulanabildiği gibi, komutu çalıştırmadan önce seçtiğim öğelere de direkt olarak uygulanabilirse daha iyi olur.
Örneğin; "Join" komutu. Önce line'ları seçip, daha sonra komutu yazdığımızda, tekrar seçmemizi istemeden seçili öğeleri birleştirebiliyor.

elaura (06.03.2018 06:52 GMT)

06.03.2018 06:54    

ehya
elaura




Belirli bir layer nedir? Sabit bir layer mı? Yoksa kendiniz mi belirteceksiniz?

06.03.2018 07:38    

Travaci
elaura


Laymcur komutu ile seçtiğiniz nesneleri current layer açevirebilirsiniz.

06.03.2018 09:04    

elaura
@Ehya
Mesela, lisp'i başlattığımda otomatik olarak "Kontrol" adında bir layer oluşturacak ve layer rengini de "C150" olarak belirleyecek.

@Travaci
Laymcur'u biliyorum fakat istediğim lisp mevcut layer'ımı değiştirmek için değil; bir objeyi, lisp içerisinde belirlenmiş olan layer'a taşımak. Bunun için Matchprop diyebilirsiniz belki fakat onda da referans olarak bir obje bulundurmam gerekiyor ve bu yeterince hızlı olmuyor. Aynı zamanda objenin diğer özelliklerini de aktarmış oluyor ki, benim istediğim sadece layer'ını değiştirmesi.

elaura (06.03.2018 10:48 GMT)

06.03.2018 10:50    

ehya
Kod:

(defun c:RD ()
(if (setq ss (ssget ":L"))
    (progn
        (if (not (tblsearch "layer" "kontrol"))
            (progn
            (entmake '((0 . "LAYER")
                       (100 . "AcDbSymbolTableRecord")
       (100 . "AcDbLayerTableRecord")
                       (2 . "kontrol")                       
                       (70 . 0)
                       (62 . 150)
                       (6 . "CONTINUOUS")))))
        (vl-cmdf "_.change" ss "" "p" "layer" "kontrol" "")))(princ))

ehya (06.03.2018 12:41 GMT)

06.03.2018 11:04    

elaura
Tam istediğim gibi çalışıyor. Çok teşekkürler Ehya :)

16.03.2018 10:20    

tempuser
Herkeze merhaba



Elimde 1x1 lik kapalı rectangle lar var, seçtiğim rectangle ların etrafına rectangle çizip ve ortasına 1 lik bir daire çizecek lisp e ihtiyacım var.

Teşekkürler.

16.03.2018 11:35    

Travaci
tempuser


Kod:

(defun c:recir (/ ss ls)
  (if (setq ss (ssget (list (cons 0 "Lwpolyline") (cons 70 1))))
    (progn
      (foreach x (ssnamex ss) (if (= (type (cadr x)) 'ename)
        (setq ge (acet-ent-geomextents (cadr x))
              ls (append (list (car ge) (cadr ge)) ls))))
      (setq pl (acet-geom-list-extents ls))
      (acet-undo-begin) (setvar 'cmdecho 0)
      (vl-cmdf "_.rectang" (car pl) (cadr pl)
               "_.circle" (acet-geom-midpoint (car pl) (cadr pl)) "d" 1)
      (acet-undo-end)
    )
  ) (princ)
)

26.03.2018 06:12    

mimarimetraj
merhaba.
En son 2008 de lisp kullanmıştım. ben hakediş yaparken verileri elle girer ve excel formülleri ile yapardım. fakat şu an tip olmayan duvar metrajları için lisp e ihtiyacım var. 1 haftadır bakınıyorum netten, birçok lisp buldum, sitenizden de olduukça faydalandım (böyle paylaşımlar yaparak o kadar hayır duası alıyorsunuzdur ki...) ama tam olarak istediğim lisp i bulamadım.

1. seçilen line veya polyline ların uzunluklarını başında benim belirttiğim bir poz ismi ile birlikte verecek, ve işaret ettiğim yerde yazacak..
2. her defasında istediğim sıralamadan başlayacak.
3. ve bu verileri (layer, poz, kod, uzunluk) excel e, mümkünse online aktaracak.
(3. aktif şekilde aktaramaz ise bütün yazıları seçtiğimde, ismini benim verdiğim bir excel veya txt dosyası olurtacak. excelde poz ismine göre sıralamayı değiştirebilirim.)
4. uzunluk değerlerini noktada sonra en fazla 2 karakter ile gösterecek.

buna benzer bir lisp buldum ama o alan olarak işliyor, uzunluk değil.

böyle bir lisp mümkün mü bilmiyorum ama zamanım iyice daraldı. yardım edebilirseniz çok sevinirim.

iyi çalışmalar.

26.03.2018 06:44    

mimarimetraj
Alıntı
mimarimetraj :
merhaba.
En son 2008 de lisp kullanmıştım. ben hakediş yaparken verileri elle girer ve excel formülleri ile yapardım. fakat şu an tip olmayan duvar metrajları için lisp e ihtiyacım var. 1 haftadır bakınıyorum netten, birçok lisp buldum, sitenizden de olduukça faydalandım (böyle paylaşımlar yaparak o kadar hayır duası alıyorsunuzdur ki...) ama tam olarak istediğim lisp i bulamadım.

1. seçilen line veya polyline ların uzunluklarını başında benim belirttiğim bir poz ismi ile birlikte verecek, ve işaret ettiğim yerde yazacak..
2. her defasında istediğim sıralamadan başlayacak.
3. ve bu verileri (layer, poz, kod, uzunluk) excel e, mümkünse online aktaracak.
(3. aktif şekilde aktaramaz ise bütün yazıları seçtiğimde, ismini benim verdiğim bir excel veya txt dosyası olurtacak. excelde poz ismine göre sıralamayı değiştirebilirim.)
4. uzunluk değerlerini noktada sonra en fazla 2 karakter ile gösterecek.

buna benzer bir lisp buldum ama o alan olarak işliyor, uzunluk değil.

böyle bir lisp mümkün mü bilmiyorum ama zamanım iyice daraldı. yardım edebilirseniz çok sevinirim.

iyi çalışmalar.



BU LISP in autocad dosyası üzerinde de uzunluk ve poz numarasını gösterdiği versiyon. ben başka başka lispleri birlieştirerek oluşturmaya çalıştım ama hepsini bozdum :D


(Defun c:plb ()
(setvar "cmdecho" 0)
(setq dosyaadı (getstring "data dosyası adı giriniz : "))
(setq dosyayeri (strcat (getvar "dwgprefix") dosyaadı ".txt")) ; 1
(terpri)
(setq txt (open dosyayeri "w")) ; 2
(write-line
(strcat "Sıra No" "\t" "Renk" "\t" "Layer" "\t" "Çevre" "\t" "Alan")
txt
) ; 3
(close txt) ; 4
(setq sırano 0)
(while
(setq ent (entsel "\n .......Polyline Seçiniz : ")) ; 5
(setq en (car ent))
(setq enlist (entget en))
(setq objetipi (cdr (assoc 0 enlist))) ; 6
(if (or
(= objetipi "LWPOLYLINE")
(= objetipi "POLYLINE")
) ; 7
(progn
(command "area" "o" en) ; 8
(setq a (getvar "area")) ; 9
(setq per (getvar "perimeter")) ; 10
(setq layer (cdr (assoc 8 enlist))) ; 11
(setq renk (cdr (assoc 62 enlist))) ; 12
(if (= renk nil)
(setq renk 256)
)
(setq txt (open dosyayeri "a")) ; 13
(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
) ; 14
(close txt) ; 15
(setq sırano (+ sırano 1))
)
)
)
)
(Defun cks ()
(alert (strcat dosyayeri " dosyası oluşturuldu"))
)

26.03.2018 07:23    

mimarimetraj
Alıntı
mimarimetraj :
Alıntı
mimarimetraj :
merhaba.
En son 2008 de lisp kullanmıştım. ben hakediş yaparken verileri elle girer ve excel formülleri ile yapardım. fakat şu an tip olmayan duvar metrajları için lisp e ihtiyacım var. 1 haftadır bakınıyorum netten, birçok lisp buldum, sitenizden de olduukça faydalandım (böyle paylaşımlar yaparak o kadar hayır duası alıyorsunuzdur ki...) ama tam olarak istediğim lisp i bulamadım.

1. seçilen line veya polyline ların uzunluklarını başında benim belirttiğim bir poz ismi ile birlikte verecek, ve işaret ettiğim yerde yazacak..
2. her defasında istediğim sıralamadan başlayacak.
3. ve bu verileri (layer, poz, kod, uzunluk) excel e, mümkünse online aktaracak.
(3. aktif şekilde aktaramaz ise bütün yazıları seçtiğimde, ismini benim verdiğim bir excel veya txt dosyası olurtacak. excelde poz ismine göre sıralamayı değiştirebilirim.)
4. uzunluk değerlerini noktada sonra en fazla 2 karakter ile gösterecek.

buna benzer bir lisp buldum ama o alan olarak işliyor, uzunluk değil.

böyle bir lisp mümkün mü bilmiyorum ama zamanım iyice daraldı. yardım edebilirseniz çok sevinirim.

iyi çalışmalar.



BU LISP in autocad dosyası üzerinde de uzunluk ve poz numarasını gösterdiği versiyon. ben başka başka lispleri birlieştirerek oluşturmaya çalıştım ama hepsini bozdum :D


(Defun c:plb ()
(setvar "cmdecho" 0)
(setq dosyaadı (getstring "data dosyası adı giriniz : "))
(setq dosyayeri (strcat (getvar "dwgprefix") dosyaadı ".txt")) ; 1
(terpri)
(setq txt (open dosyayeri "w")) ; 2
(write-line
(strcat "Sıra No" "\t" "Renk" "\t" "Layer" "\t" "Çevre" "\t" "Alan")
txt
) ; 3
(close txt) ; 4
(setq sırano 0)
(while
(setq ent (entsel "\n .......Polyline Seçiniz : ")) ; 5
(setq en (car ent))
(setq enlist (entget en))
(setq objetipi (cdr (assoc 0 enlist))) ; 6
(if (or
(= objetipi "LWPOLYLINE")
(= objetipi "POLYLINE")
) ; 7
(progn
(command "area" "o" en) ; 8
(setq a (getvar "area")) ; 9
(setq per (getvar "perimeter")) ; 10
(setq layer (cdr (assoc 8 enlist))) ; 11
(setq renk (cdr (assoc 62 enlist))) ; 12
(if (= renk nil)
(setq renk 256)
)
(setq txt (open dosyayeri "a")) ; 13
(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
) ; 14
(close txt) ; 15
(setq sırano (+ sırano 1))
)
)
)
)
(Defun cks ()
(alert (strcat dosyayeri " dosyası oluşturuldu"))
)




BU LISP alanları poz kod u ile autocad te gösteriyor. bu ikisinin karışımı diyebilirim benim ihtiyacım olan yazılım.


(defun hafo_alan_m2 ()
(if (= cizim_birim nil)
(progn
(initget 1 "mEtre Cm Mm")
(setq cizim_birim (getkword "Cizim birimimiz ne? [mEtre / Cm / Mm]:")))))
(defun m2_stil ()
(setq m2_stil_ara (tblsearch "style" "m2"))
(if (= m2_stil_ara nil)
(progn
(setq m2_yaz_yuk 12)
(setq m2_yaz_y (getdist (strcat "Yazi yuksekligi ne olsun? :< " (rtos m2_yaz_yuk) ">:")))
(if (= m2_yaz_y nil)
(setq m2_yaz_y m2_yaz_yuk))
(setq m2_yaz_yuk m2_yaz_y)
(command "style" "m2" "arial.ttf" m2_yaz_yuk "0.8" "" "" ""))))
(defun c:alan_topla ()
(setvar "modemacro" "Hafzullah YILDIRIM 2016")
(setvar "cmdecho" 0)
(hafo_alan_m2)
(if (= cizim_birim "mEtre")
(progn
(setq m2_bol 100)))

(if (= cizim_birim "Cm")
(progn
(setq m2_bol 10000)))
(if (= cizim_birim "Mm")
(progn
(setq m2_bol 1000000)))
(setq m2_secim (ssget '((-4 . "<OR")
(0 . "LWPOLYLINE")
(0 . "POLYLINE")
(0 . "CIRCLE")
(0 . "ELLIPSE")
(0 . "SPLINE")
(0 . "REGION")
(0 . "3DSOLID")
(-4 . "OR>"))))
(if (= m2_secim nil)
(progn
(princ))
(progn
(setq m2_secim_say (sslength m2_secim))
(setq m2_c 0)
(setq m2_toplam 0)
(while (< m2_c m2_secim_say)
(setq m2_secim_tek (ssname m2_secim m2_c))
(command "area" "e" m2_secim_tek)
(setq m2_tek_alan (/ (getvar "area") m2_bol))
(setq m2_toplam (+ m2_toplam m2_tek_alan))
(setq m2_c (+ m2_c 1)))
(m2_stil)
(setq m2_aciklama (getstring t "Peki aciklama olarak ne yazayim? :"))
(setq m2_yer (getpoint "Son olarak nereye yazayim yer goster bana ?:"))
(if (= m2_yer nil)
(progn
(princ "Yer gostermezsen bende yazmam."))
(progn
(command "text" m2_yer "0" m2_aciklama)
(command "text" "" (strcat (rtos m2_toplam 2 2) " m2"))
(princ (strcat "\nToplam alan "(rtos m2_toplam 2 2)" m2"))
(princ)
))))(princ))
(PRINC "Yukleme tamamlandi. Hafzullah YILDIRIM")

26.03.2018 12:55    

ehya
Benim yazdığım lispin altına ismini yazıp sahiplenen Hafzullah YILDIRIM kimdir?

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