06.03.2019 09:07    

proje86
Alıntı
ehya :
proje86




İyi de bu kadar bilgiyi dialog penceresi ile daha rahat halletseniz daha rahat olmaz mı? Her defasında bu bilgileri komut satırına mı yazaacaksınız?



evet başka bir programdan komut göndereceğim
dialog kutusu açılmaması gerekiyor

06.03.2019 10:32    

ehya
FILEDIA komutunu çalıştırın ve değerini 0 (sıfır) yapın. Dialog penceresi açılmayacaktır.

06.03.2019 11:26    

proje86
Alıntı
ehya :
FILEDIA komutunu çalıştırın ve değerini 0 (sıfır) yapın. Dialog penceresi açılmayacaktır.



evet aradığım buydu.

11.03.2019 09:40    

bayrecep
İyi günler. Çizimde bulunan objeleri seçince bunları bulunduğumuz görünüme yerleştirebilecek bir lisp mümkünmüdür. Örneğin bir dolap çizdik bu dolabın üst parçasının önden görünüşte üstten bakıyormuşuz gibi görünmesini veya ön görünüşte yan parçasının yandan bakıyormuşuz gibi görünmesini sağlayabilirmiyiz. Orjinal olan çizime dokunmadan kopyalama şeklinde olmalı.

14.03.2019 12:21    

umutdogan62
Merhaba arkadaşlar. Herkese iyi çalışmalar.

Elimde 700 küsür tane yol kesiti var ben bunları tek tek çıktı alacağım ama alırken a3 ve ya a4 kağıdımda antetli çıkmasını istiyorum. Ben blockladığım her antetli çizimi kesitlere oturtup çıktı alıyorum ve çok uğraştırıyor basit bir yolu varmıdır acaba.

397674-1-29+040-44+783-kesitler-2019-model.pdf

umutdogan62 (14.03.2019 12:27 GMT)

15.03.2019 18:44    

k005
Alıntı
umutdogan62 :
Merhaba arkadaşlar. Herkese iyi çalışmalar.

Elimde 700 küsür tane yol kesiti var ben bunları tek tek çıktı alacağım ama alırken a3 ve ya a4 kağıdımda antetli çıkmasını istiyorum. Ben blockladığım her antetli çizimi kesitlere oturtup çıktı alıyorum ve çok uğraştırıyor basit bir yolu varmıdır acaba.

397674-1-29+040-44+783-kesitler-2019-model.pdf



Önce a4 için bakalım;

1 adet a4 antetli dosya , bir de kesit ekleyebilirmisin ?

24.03.2019 11:43    

umutdogan62
Alıntı
k005 :
Alıntı
umutdogan62 :
Merhaba arkadaşlar. Herkese iyi çalışmalar.

Elimde 700 küsür tane yol kesiti var ben bunları tek tek çıktı alacağım ama alırken a3 ve ya a4 kağıdımda antetli çıkmasını istiyorum. Ben blockladığım her antetli çizimi kesitlere oturtup çıktı alıyorum ve çok uğraştırıyor basit bir yolu varmıdır acaba.

397674-1-29+040-44+783-kesitler-2019-model.pdf



Önce a4 için bakalım;

1 adet a4 antetli dosya , bir de kesit ekleyebilirmisin ?



kusura bakmayın mesajı geç gördüm.
397674-antet.dwg
397674-kesit.dwg

31.03.2019 08:11    

k005
umutdogan62


Dosyaları inceledim.

Kesitlerin Hepsini tek dosyada Toplayınız.,(ölçek ve birim farkı olmayanları...) C: yada D: sürücüsünde bir klasör oluşturun. Bloklar adında mesela... Bu klasörü AutoCAD e tanıtın ( bkz: options ) . daha sonran Antet li dosyayı buraya blok olarak kaydedin. Kesitlerin bulunduğu dosyayı açarak , her kesitin üzerine Antetli dosyayı -insert komutu ile çağırın., Yerleştirin.

02.04.2019 20:43    

atesersin62
Merhaba Arkadaşlar

Acil yardıma ihtiyacım var hastane inşaatı yapıyoruz ve alçıpan imalatı ve diğer ince işler için metraj çıkarmamız lazım hem uzunluk veren hemde poz no atayan ancak poz no verirken şu şekilde bir açılım yapma imkanımız var mı ?

BB - 01- UZUNLUK Bu tarz bir yazım şekli (Beyaz-Beyaz = BB) ancak buradaki BB yi değiştirebilmek istiyorum mesela BY yapıp yine aynı mantıkla pozlandırmak veya BB yerine başka bir yazı yazmak istiyorum.)
poz numaraları 01 den başlayarak 2 3 4 basamaklı sayılara kadar ardışık devam edebilir, poz numarası ve uzunluk "-" gibi bir ayıraçla yazılabilir
hangi sayıdan başlıyacağımız sorulursa eski poz numaralarını koruyarak devam edebiliriz,
çizgi boyuna ait bir tiplemeye ihtiyaç duyulmadığı için yeni poz numarası vererek devam edilebilir.
polyline ve line ayrımı yapmaksızın çalışması.
Birde BB leri bitirdikten sonra BY lere geçtiğimde 01 den başlayarak devam edip yine BB ye geçtiğimde kaldığım yerden devam etmek istiyorum.

Bu tarz elzem isteklerim mevcut.Yardımlarınız bekliyorum
Saygılarımla...

04.04.2019 09:32    

ehya
atesersin62




Ücreti karşılığında yazılır. Özelden mesaj atabilirsiniz.

04.04.2019 12:04    

keremhazar
Alıntı
Sibay :
Eline sağlık, gerçekten çok iyi bir çalışma yapmışsın.

Bu lisp download bölümüne de eklenmiştir. "uy.lsp olarak"



s.a hocam nerden nasıl yazacagıöı bilemedim grupda yeniyim biz enerji nakil hattı direkleri çiziyoruz malzemelere attığımız civataların ara ölçülerini vermek yerine ara mesafeleri toplayarak yazıyoruz bunun için de önce ölçü verip ona göre bakarak yazmak ve geri silmek gerekiyor bu da çok vakir alıyor civataları daire seşkinde görünüyor bunların merkezlerini seçerek mesafeleri sırasıyla tıklayarak örnekde ki gibi verir mi bize (368+512+700) v.s gibi buna göre lisp yapılabilir mi?

11.04.2019 08:08    

ozan9690
Merhabalar,

Bana bir adet lisp lazım aşağıdaki linkte autocad dosyası var bu dosyada bulunan çizimleri eşit bir şekilde insert ederek sıralamak istiyorum bu çizimden 100 tane olduğunu düşünüldüğünde çok vakit kaybettirecek.yani x+400 x+400+400 x+400+400+400 bu şekilde gidecek gibi.

Yardımcı olurmusunuz?



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

29.04.2019 08:16    

proje86
herkese selam,
flatten komutunun yaptığı işlemi daha düzgün
solprof ayarında yapan bir lisp yazılabilir mi?

30.04.2019 10:26    

ehya
Alıntı
proje86 :
herkese selam,
flatten komutunun yaptığı işlemi daha düzgün
solprof ayarında yapan bir lisp yazılabilir mi?



FLATSHOT komutunu kullanın.

03.05.2019 14:02    

proje86
Alıntı
ehya :
Alıntı
proje86 :
herkese selam,
flatten komutunun yaptığı işlemi daha düzgün
solprof ayarında yapan bir lisp yazılabilir mi?



FLATSHOT komutunu kullanın.



ehya hocam çok sağol
flatshot yaramıyor işime onu denedim

05.05.2019 17:36    

snkr5528
Merhaba,
Sitede işime yarayan bir çok lisp buldum. Öncelikle emek veren herkese teşekkür etmek isterim. Çok büyük emekler verilmiş ve bunlar karşılıksız paylaşılmış. Benim de bir lisp için yardıma ihtiyacım var. Sitede istediğime yakın buldum fakat ilave düzenleme yapamadım. İstediğim çizimde seçmiş olduğum polyline ların uzunluklarını ve katman ismini listelemekti. Yani 8 tane polyline olduğunu varsayalım.
A KATMANI 500 MM 1 ADET
A KATMANI 400 MM 2 ADET
B KATMANI 300 MM 2 ADET
C KATMANI 300 MM 3 ADET
- - - - - - - - - - - - - - - -- - - - - - - - -
TOPLAM 2800 MM 8 ADET

açılan pencerede listelemesi.
Yardımcı olabilecek arkadaşlara şimdiden teşekkür ederim.

Sitede ProhibiT Hocanın yazdığı aşağıdaki lisp var. Bu adetleri ve uzunlukları veriyor. Ancak layer adını da ekleyemedim. Sadece polyline için de olsa yeterli olur.

(defun c:LpL2Ex ()
(princ "\nUzunluklarını Excel dosyasına yazmak istediğiniz Line PoLyLive ve LwPoLyLine objelerini seçiniz...")
(setq LLer (ssget (list (cons 0 "LINE,*POLYLINE"))) L (sslength LLer) n -1
fo (open (getfiled "Çıkış Kütüğü" "" "csv" 9) "w"))
(while (< (setq n (1+ n)) L)
(setq obtip (cdr (assoc 0 (entget (ssname LLer n)))))
(if (= obtip "LINE")
(setq Ln (entget (ssname LLer n)) Le (distance (cdr (assoc 10 Ln)) (cdr (assoc 11 Ln))))
(progn
(command "_area" "object" (ssname LLer n))
(setq Le (getvar "perimeter"))))
(write-line (strcat obtip ";" (rtos Le)) fo))
(close fo) (prin1)
)

Yine sitede ehya Hocanın hazırladığı aşağıdaki lisp var. Bu da toplam uzunlukları veriyor.

(defun c:BARALARTOPLAMI ()
(setvar "modemacro" "Archme Design by --> EhYa <--")
(vl-load-com)
(setq secim (ssget '((-4 . "<OR")
(0 . "LINE")
(0 . "LWPOLYLINE")
(0 . "ARC")
(0 . "ELLIPSE")
(0 . "SPLINE")
(0 . "CIRCLE")
(-4 . "OR>")
)
)
)
(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 (= tanimi "ARC")
(progn
(setq data (vlax-ename->vla-object teksecim))
(setq uz-bul (vla-get-arclength data))
(setq toplami (+ toplami uz-bul))
))
(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))
)
)
(if (= tanimi "CIRCLE")
(progn
(setq data (vlax-ename->vla-object teksecim))
(setq uz-bul (vla-get-circumference data))
(setq toplami (+ toplami uz-bul))))
(if (or (= tanimi "ELLIPSE")(= tanimi "SPLINE"))
(progn
(command "._area" "e" teksecim)
(setq uz-bul (getvar "perimeter"))
(setq toplami (+ toplami uz-bul))))
(setq c (+ c 1))
)
(alert (strcat "\nToplam Bara Uzunluğu : " (rtos toplami 2 0) " mm"))
)
)
(princ)
)

snkr5528 (05.05.2019 21:22 GMT)

06.05.2019 02:36    

snkr5528
Merhaba, aşağıda yazılı lisp benim isteğime çok yakın fakat m2 alıyor. Ben uzunluk olarak değiştiremedim. Bilgisi olan arkadaşlar yardımcı olursa memnun olurum.

(defun c:EPD (/ ss i area layer all_data pts csv_file openfile) ; Export Polyline Data
;; pBe Sep 2018 ;;
(if (and
(setq all_data nil
ss (ssget '((0 . "LWPOLYLINE")))
)
(repeat (setq i (sslength ss))
(setq e (ssname ss (setq i (1- i)))
ent (entget e)
area (vlax-curve-getarea e)
data (mapcar '(lambda (d)(cdr (assoc d ent))) '( 8 70 5))
pts (mapcar 'cdr
(vl-remove-if-not
'(lambda (d)
(= 10 (car d))
)
ent
)
)
)
(setq all_data
(cons
(list
(cond
((null (setq ssText (ssget "_CP" pts '((0 . "TEXT"))))) "-"
)
((= (sslength ssText) 1)
(cdr (assoc 1 (entget (ssname ssText 0))))
)
((substr
(apply 'strcat
(mapcar '(lambda (st)
(strcat " | " st))
(vl-sort
(mapcar '(lambda (s)
(cdr (assoc 1 (Entget s)))
)
(vl-remove-if 'listp (mapcar 'cadr (ssnamex ssText)))
)
(function (lambda (a b)
(< a b)
)
)
)
)
)
4
)
)
)
area
(car data)
(if (zerop ( logand 1 (cadr data))) "No" "Yes")
(caddr data)
)
all_data
)
)

all_data
)
(setq csv_file (getfiled "Save CSV File"
(strcat
(getvar 'dwgprefix)
(vl-filename-base (getvar 'dwgname))
".csv"
)
"csv"
45
)
)
)

(progn
(setq openfile (open csv_file "w"))
(write-line
"Text inside polyline,Polyline Area (m2),Layer,Closed,Handle"
openfile
)
(foreach itm (vl-sort all_data
'(lambda (a b) (< (Cadr a) (cadr b)))
)
(write-line
(Strcat (Car itm)
","
(strcat (rtos (Cadr itm) 2 2) " m2")
","
(caddr itm)
","
(cadddr itm)
","
(last itm)
)
openfile
)
)
(close openfile)
(startapp "notepad" csv_file)
)
)
(princ)

)

06.05.2019 07:24    

ehya
snkr5528




Kod:

(defun c:EPD (/ ss i area layer all_data pts csv_file openfile)
; Export Polyline Data
  ;; pBe Sep 2018 ;;
  (if (and
(setq all_data nil
      ss       (ssget '((0 . "LWPOLYLINE")))
)
(repeat (setq i (sslength ss))
  (setq e    (ssname ss (setq i (1- i)))
ent  (entget e)
;area (vlax-curve-getarea e)
area (vla-get-length (vlax-ename->vla-object e))
data (mapcar '(lambda (d) (cdr (assoc d ent))) '(8 70 5))
pts  (mapcar 'cdr
     (vl-remove-if-not
       '(lambda (d)
  (= 10 (car d))
)
       ent
     )
     )
  )
  (setq all_data
(cons
   (list
     (cond
       ((null (setq ssText (ssget "_CP" pts '((0 . "TEXT")))))
"-"
       )
       ((= (sslength ssText) 1)
(cdr (assoc 1 (entget (ssname ssText 0))))
       )
       ((substr
  (apply
    'strcat
    (mapcar '(lambda (st)
       (strcat " | " st)
     )
    (vl-sort
      (mapcar '(lambda (s)
(cdr (assoc 1 (Entget s)))
       )
      (vl-remove-if
'listp
(mapcar 'cadr (ssnamex ssText))
      )
      )
      (function (lambda (a b)
  (< a b)
)
      )
    )
    )
  )
  4
)
       )
     )
     area
     (car data)
     (if (zerop (logand 1 (cadr data)))
       "No"
       "Yes"
     )
     (caddr data)
   )
   all_data
)
  )
  all_data
)
(setq csv_file (getfiled "Save CSV File"
(strcat
   (getvar 'dwgprefix)
   (vl-filename-base (getvar 'dwgname))
   ".csv"
)
"csv"
45
       )
)
      )
    (progn
      (setq openfile (open csv_file "w"))
      (write-line
"Text inside polyline,Polyline Area (m2),Layer,Closed,Handle"
openfile
      )
      (foreach itm (vl-sort all_data
    '(lambda (a b) (< (Cadr a) (cadr b)))
   )
(write-line
  (Strcat (Car itm)
  ","
  (strcat (rtos (Cadr itm) 2 2) " cm")
  ","
  (caddr itm)
  ","
  (cadddr itm)
  ","
  (last itm)
  )
  openfile
)
      )
      (close openfile)
      (startapp "notepad" csv_file)
    )
  )
  (princ)
)

06.05.2019 07:58    

snkr5528
Hocam çok teşekkür ederim. Hemen dönüş yaptınız. Çok güzel çalışıyor. Belki üzerinde çalışıp bir şeyler öğrenmeye çalışırım. Hocam çok olmazsam bir şey daha soracağım. Yukarıdaki lispte de aşağıdaki lispteki gibi sadece Autocad içerisinde tablo oluşturup ona atabilir miyiz. (Excel ve txt iptal olsa). Ben aşağıdakini örnek olarak gönderiyorum.

(defun C:LAYLENGTH ( / *error* acdoc ss p i e a d l) (vl-load-com)
(setq acdoc (vla-get-activedocument (vlax-get-acad-object)))
(vla-startundomark acdoc)

(defun *error* (msg)
(and
msg
(not (wcmatch (strcase msg) "*CANCEL*,*QUIT*,*BREAK*,*EXIT*"))
(princ (strcat "\nError: " msg))
)
(if
(= 8 (logand (getvar 'undoctl) 8))
(vla-endundomark acdoc)
)
(princ)
)

(if
(and
(setq ss (ssget ":L" '((0 . "LINE,POLYLINE,LWPOLYLINE,ARC,CIRCLE,ELLIPSE,SPLINE"))))
(setq p (getpoint "\nTable scale depend on annotation scale.\nSpecify table insert point: "))
)
(progn
(repeat
(setq i (sslength ss))
(setq e (ssname ss (setq i (1- i)))
a (cdr (assoc 8 (entget e)))
d (vlax-curve-getdistatparam e (vlax-curve-getendparam e))
)
(if
(setq o (assoc a l))
(setq l (subst (list a (+ (cadr o) d)) o l))
(setq l (cons (list a d) l))
)
)
(setq l (vl-sort l '(lambda (a b) (< (car a) (car b)))))
(insert_table l p)
)
)
(*error* nil)
(princ)
)

(defun insert_table (lst pct / tab row col ht i n space)
(setq space (vlax-get acDoc (if (= 1 (getvar 'cvport)) 'PaperSpace 'ModelSpace))
ht (/ 2.5 (cond ((getvar 'cannoscalevalue)) (1.0)))
pct (trans pct 1 0)
n (trans '(1 0 0) 1 0 T)
tab (setq tab (vla-addtable space (vlax-3d-point pct) (+ 2 (length lst)) (length (car lst)) (* 2.5 ht) ht))
)
(vlax-put tab 'direction n)

(mapcar
(function
(lambda (rowType)
(vla-SetTextStyle tab rowType (getvar 'textstyle))
(vla-SetTextHeight tab rowType ht)
)
)
'(2 4 1)
)

(vla-put-HorzCellMargin tab (* 0.14 ht))
(vla-put-VertCellMargin tab (* 0.14 ht))

(setq lst (cons '("Colum1" "Colum2") lst))

(setq i 0)
(foreach col (apply 'mapcar (cons 'list lst))
(vla-SetColumnWidth tab i
(apply
'max
(mapcar
'(lambda (x)
((lambda (txb) (+ (abs (- (caadr txb) (caar txb))) (* 2.0 ht)))
(textbox (list (cons 1 (vl-princ-to-string x)) (cons 7 (getvar 'textstyle)) (cons 40 ht)))
)
)
col
)
)
)
(setq i (1+ i))
)

(setq lst (cons '("TITLE") lst))

(setq row 0)
(foreach r lst
(setq col 0)
(vla-SetRowHeight tab row (* 1.5 ht))
(foreach c r
(vla-SetText tab row col (if (numberp c) (rtos c) (vl-princ-to-string c)))
(setq col (1+ col))
)
(setq row (1+ row))
)
)

06.05.2019 09:34    

ehya
Kodlar öyle kopyala-yapıştır yapılamayacağı için, yeniden yazmak gerekir..

Ö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] [85] > 88 < [90] [95] [100] Sonraki Sayfa
Copyright © 2004-2022 SQL: 1.585 saniye - Sorgu: 103 - Ortalama: 0.01539 saniye