01.08.2013 12:31    

özkan-wien
Arkadaslar Attribute icinde belli bir "Tag" a sirayla numara veren Lisp var mi? prefix sufixli olursa tadindan yenmez.
:-)

01.08.2013 14:40    

ehya
Alıntı
özkan-wien :
Arkadaslar Attribute icinde belli bir "Tag" a sirayla numara veren Lisp var mi? prefix sufixli olursa tadindan yenmez.
:-)



Komut adı ATTDEG

Kod:

(defun c:attdeg ()
(if (= secim nil)
  (setq secim "Değiştir"))
  (if (= sayi nil)(setq sayi 1))
  (setq bs (getint (strcat "\nBaşlangıç sayısı: < : " (rtos sayi 2 0)" : >")))
  (if (= bs nil)(setq bs sayi))
  (setq sayi bs)
  (initget 1 "Değiştir Başa ekle Sona ekle")
  (setq islem (getkword "\nYazı değiştirme seçeneği : Değiştir / Başa ekle / Sona ekle : "))
(setq nnn nil)
(while (= nnn nil)
  (setq nes (nentsel "\nDeğişecek yazıyı seçin:"))
  (if (= nes nil)
    (progn
    (if (= (getvar "errno") 7)(setq nnn nil))
    (if (= (getvar "errno") 52)(setq nnn t)))
    (progn
      (setq ntur (cdr (assoc 0 (entget (car nes)))))
      (if (/= ntur "ATTRIB")
(progn
  (setq nnn nil)(princ "\nSeçilen nesne ATTRIB değil..."))
(progn
(setq icerik (cdr (assoc 1 (entget (car nes))))
      data (entget (car nes)))
          (if (= islem "Değiştir")(setq yyazi (rtos sayi 2 0)))
          (if (= islem "Başa")(setq yyazi (strcat (rtos sayi 2 0)icerik)))
          (if (= islem "Sona")(setq yyazi (strcat icerik (rtos sayi 2 0))))
(entmod (subst (cons 1 yyazi)(assoc 1 data)data))
(setq sayi (+ sayi 1))
(setq nnn nil)
)))))
(princ)
)

ehya (02.08.2013 06:46 GMT)

01.08.2013 15:08    

özkan-wien
Ehya orantisiz güc kullanmissin yine. RESPECT!

05.08.2013 08:32    

özkan-wien
cizim icindeki "x" layerindaki tüm polyline lari secip hepsini iceri Dogru 10 cm Offset yapmak istiyorum. Böyle bir Lisp var mi acaba?

13.08.2013 18:58    

projehesap
İyi günler,

Birkaç tane lisp isteğim var, elinde bulunanlar varsa şimdiden teşekkür ederim;

1) Sadece seçilen bloklar için çizimdeki ilgili blokların tümünün adını ve miktarlarını bir not defterine geçirebilecek bir lisp ve benzer şekilde seçilen layerdaki çizgi uzunluklarını layer adına göre çizimdeki toplam uzunluklarını bir not defterine geçirecek lisp örneği,

2) Bir çizimdeki tüm xrefleri extract, bind, vs. edecek bir lisp,

3) Çizimi boyutlandırılken off, froze, lock, vs. layerları da etkileyecek, ama layerın bu özelliklerini aynen korumakla birlikte tüm çizimi boyutlandırmamızı sağlayacak bir lisp (alan özelliğine sahip blokları kapsamasa da olur).

Tekrar teşekkürler.

15.08.2013 15:21    

CAN123
ProhibiT hocam,

Bu lispte eğer mümkünse profilin üç çizgisinide sürükleyerek seçip yazdırabilirmiyiz. Tek tek seçtiğimizde takılabiliyor.

teşekkür ederim

Kod:

;|***************************************************************************|
| PDL: Profile Dimesions Label                                              |
|      Görünüş çizgileri seçilen Köşebentin boyut etiketi                   |
|      mevcut Text (veya MText) objesine işlenir.                           |
|      M. Şahin Güvercin  www.cizimokulu.com  25.12.2012                    |
|---------------------------------------------------------------------------|;
(defun c:PDL (/ ds1 ds2 ds3 kk ksr Ln1 Ln2 Ln3 PnT)
  (setvar "cmdecho" 0) (command "_.undo" "group") (vl-load-com)
  (setq Ln1 (car (entsel "\nProfil Sırt Çizgisi: ")) Kk  (redraw Ln1 3)
        Ln2 (car (entsel "\n  Profil Uç Çizgisi: ")) Kk  (redraw Ln2 3)
        Ln3 (car (entsel "\n   Flanş İç Çizgisi: ")) Kk  (redraw Ln3 3)
        PnT (vlax-safearray->list (vlax-variant-value
                (vlax-get-property (vlax-ename->vla-object Ln1) 'StartPoint)))
        ds1 (rtos (distance Pnt (vlax-curve-getClosestPointTo
                                  (vlax-ename->vla-object Ln2) PnT T)) 2 0)
        ds2 (rtos (distance PnT (vlax-curve-getClosestPointTo
                                  (vlax-ename->vla-object Ln3) PnT T)) 2 0)
        ds3 (rtos (vlax-get-property (vlax-ename->vla-object Ln1) 'Length) 2 1)
        ksr (atoi (substr ds3 (strlen ds3) 1)))
  (if (wcmatch ds3 "*.*") ;;; Küsüratın simetrik yuvarlanması
    (cond ((< ksr 3) (setq ds3 (substr ds3 1 (- (strlen ds3) 2))))
          ((and (> ksr 2) (< ksr 8))
           (setq ds3 (strcat (substr ds3 1 (1- (strlen ds3))) "5")))
          ((> ksr 7) (setq ds3 (rtos (+ (atof ds3) (- 1 (/ ksr 10.0))) 2 1)))))
  (vlax-put-property (vlax-ename->vla-object (car (entsel "\n Text Objesi: ")))
    'TextString (strcat "L" ds1 "x" ds1 "x" ds2 "..." ds3))
  (redraw Ln1 4) (redraw Ln2 4) (redraw Ln3 4) (command "_.undo" "e") (princ))


15.08.2013 16:23    

ProhibiT
Çizgileri sırasıyla seçtiğimizde, profilin ebadını ve et kalınlığını hesaplamak için hangi çizgiler arasında mesafenin alınacağı belli.

Gurup olarak seçilen çizgilerin, hangi sıralama ile oluşturuldukları ve seçim yönü belirsiz olduğundan, bunlar kontrol edilerek çözümlenmesi gerekir ki, ondan sonra gerekli boyutlar bulunabilsin.

Gurup olarak seçimde bir başka denetim daha eklenmesi gerekiyor. Seçilen çizgi adedi 3'ten az ise, boyutlardan biri veya ikisi tanımsız olacağından işlem yapılamaz. Program hata iletisiyle sonlanmalı. Seçilen çizgi sayısı 3'ten fazla ise, örneğin üst üste çizgiler (overlap) varsa boyutların bulunabilmesi için hangi çizgiler esas alınacak. Hadi overlap konusu denetlenerek elenebilir. Ama, kullanıcının dikkatsizlik sonucu ya da canı istediği için 3'ten fazla çizgi seçmesi durumunda ne yapılabilir?

Paylaştığımız Lisp fonksiyonların kararlı ve güvenilir olmalarına özen göstermek zorundayız. Fonksiyonlar parametrelerden bağımsız olarak her durumda aynı ve doğru sonucu vermelidir. Bu fonksiyonu daha seri hale getirelim derken hatalara neden olabilecek kör noktalar bırakmaktan çekiniyorum açıkçası. Bahsettiğim çerçevede kafa yorup, geçerli bir çözüm üretebilirsem burada paylaşacağım.

Kolay gelsin.

15.08.2013 16:33    

CAN123
ProhibiT hocam,

İlginiz için çok teşekkürler,

kolay gelsin

16.08.2013 09:21    

waytooraider
Merhabalar,

Select similar ya da quick select ile seçtiğim nesnelerin (line,circle vs ) yanına önceden belirlediğim bir bloğu (ya da texti ) oluşturabilirmiyim.

Saygılarımla.

17.08.2013 06:16    

k005
Merhaba arkadaşlar;

Çapı 15cm olan ve mavi renkteki ( 5 ) circle objeleri seçip, silen bir lisp gerekiyor arkadaşlar..

Yardımcı arkadaşa şimdiden teşekkürler. Herkese Kolay gelsin.

17.08.2013 14:42    

ehya
k005




Kod:

(setq secim (ssget (list (cons 0 "CIRCLE")(cons 40 15)(cons 62 5))))
(command "_.erase" secim "")

17.08.2013 14:47    

ondertster
Prohibit hocam, linkteki Aln.lsp alan hesaplama dosyasını, alan satırının altına aynı şekilde çevreyi de yazacak şekilde revize edebilir miyiz ?


Şimdiden teşekkürler

18.08.2013 08:33    

k005
Alıntı
ehya :

Hocam cevap için Teşekkürler. Yalnız bu lisp kodunu çalıştıramadım.. seçim yapmıyor hocam..

18.08.2013 12:55    

ehya
k005




Bu komut sadece attribute nesnelerine uygulanır. Diğer nesneler için geçersizdir.

19.08.2013 06:50    

CAN123
Arkadaslar merhaba,

Eğer mümkünse resimdeki mevcut DIMSCALE değerini "1" yapıp BREAKLINE komutunu çalıstıracak ve daha sonra ilk DIMSCALE değerini alacak bir lispe ihtiyacım var.

Şimdiden teşekkürler

19.08.2013 16:35    

k005
Alıntı
ehya :
k005




Bu komut sadece attribute nesnelerine uygulanır. Diğer nesneler için geçersizdir.



Teşekkürler,, biraz geç cevap yazdım hocam yoğunluk vardı.. Peki şöyle bişey yapabilirmiyiz,, sadece Çapı belirtsem, yada seçsem:,,, aynı çaptaki Circle objeleri silebilirmiyim..?

19.08.2013 21:52    

Travaci
k005

Kod:

(command "_.erase" (ssget "x" (list (cons 0 "Circle") (cons 40 (cdr (assoc 40
(entget (car (entsel "\nHanimiş silinecek sörkıl : ) ")))))))) "")

20.08.2013 13:30    

map23
Teşekkürler,, biraz geç cevap yazdım hocam yoğunluk vardı.. Peki şöyle bişey yapabilirmiyiz,, sadece Çapı belirtsem, yada seçsem:,,, aynı çaptaki Circle objeleri silebilirmiyim..?


Tools >>>Quic Select >>> Object Type >>> Cırcle
Properties >>>> Radius
Value >>>> 1.00 (SİLMEK SİTEDİĞİN CİRCLE ÇAPINI YAZ ) ok ...şimdi silinmesi lazım..

İyi Çalışmalar...? Eski bir dost

20.08.2013 18:57    

k005
Alıntı
Travaci :

Hocam çok teşekkür ederim, Tamamdır.. :yes

20.08.2013 19:00    

k005
Alıntı
map23 :

Bu bir Lisp sorusudur.. Rutin AutoCAD sorusu değil..
****************************************************************
Siz k005 in gerçekten dostu iseniz, hiçbir zaman eskimezsiniz.. Mehmet ali abi. saygılar,, Düzce ' den selamlar.

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