18.03.2014 07:45    

k005
Şimdi bizim burdaki sorumuzda- konumuzda, toplu seçim diye bir olay yok.. uur8)

18.03.2014 07:53    

Travaci
Blockları insert noktasından scale edicek bir lisp istemişsin, senin dediğin gibi rutin işlemle zaten yapılabiliyor, yazar kimseninde ilk aklına gelen benim yazdığım gibi olsa gerek, daha sonradan hayır öyle deildi böyleydi diyip bambaşka bir boyuta taşıyorsun :) Peki sen söyle isteğinde toplu seçim yoksa buradaki lisp ile

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


senin isteğin arasındaki benzerlik nerde :) İstenilen herzaman eksik anlatılıyor. :no

18.03.2014 08:03    

k005
Alıntı
Travaci :
senin isteğin arasındaki benzerlik nerde :) İstenilen herzaman eksik anlatılıyor. :no



Benzerlik şurda şimdi;

Büyütme/Küçültme Oranı <1.25>:

Text seçip, belirli bir oranda küçültüyor yada büyütüyoruz... bahsettiğimiz lispte.. Aynı olayı yeni yazacağımız lispte, text objesi için değil de Block için yapılabilmesi hocam..

18.03.2014 08:23    

Travaci
ehya nınkini değiştirdim.

Kod:

(defun yazort (/)
  (if (and (/= ent "Büyüt")(/= ent "Küçült")(/= ent nil))
    (setq ins (cdr (assoc 10 (entget (car ent)))))))
(defun c:bkt (/)
  (setvar "errno" 0)
  (if (= oran nil)(setq oran 2))
  (setq orr (getreal (strcat "\nScale oranı: < " (rtos oran 2 2) " >:")))
  (if (= orr nil) (setq orr oran))
  (setq oran orr)
  (if (= bk nil) (setq bk "Büyüt"))
  (setq nnn nil)
  (while (= nnn nil)
    (initget "Büyüt Küçült")   
    (setq ent (entsel (strcat "\nNesneyi seçin: [Büyüt / Küçült] <"bk">")))
    (if (= ent "Büyüt") (setq bk "Büyüt" scoran (* 1.0 oran)))
    (if (= ent "Küçült") (setq bk "Küçült" scoran (/ 1.0 oran)))
    (if (= (getvar "errno") 52) (setq nnn t))
    (yazort)
    (if (and (/= ent "Büyüt")(/= ent "Küçült")(/= ent nil))   
      (command "_.scale" ent  "" ins scoran))
  )(princ)
)

18.03.2014 08:29    

k005
Alıntı
Travaci :

Hocam çok teşekkür ediyorum, Tamamdır.. Elinize sağlık.. :)

18.03.2014 19:47    

given
Selamlar,

Lutfen yardim edin, elimdeki cizimde layoutlar cizimden kaymis. Modeli oynatamiyorum. Bu layoutlarin tamamini girecegim deger kadar sola ve asagi yone kaydirmak istiyorum. Boyle bir lisp veya varsa komuta ihtiyacim var. Lutfen yardimci olurmusunuz?

Kolay gelsin,

given (18.03.2014 21:43 GMT)

19.03.2014 14:31    

pulp fiction
Kod:

(defun c:cfb (/ son obje te)
  (vl-load-com)
   (princ "\n donati cizgisini seciniz:")      
  (setq ename (ssget "+.:E:S" '((0 . "line"))))
   (setq ent (ssname ename 0)
         EnTyp (cdr (assoc 0 (entget ent)))
         obj (vlax-ename->vla-object ent)
           by (vla-get-objectid obj))
(setq val (strcat "%<\\AcObjProp Object(%<\\_ObjId "(itoa by)">%).Length \\f "%lu2%pr0">%"));cizgi için
      (setq temp 25)
(setq obje (entsel "\nSecilen yazinin aktarilacagi yaziyiseciniz!:"))
   (setq te (cdr (assoc 0 (entget (car obje)))))
   (setq son (cons 1 val))
   (if (= te "TEXT") (yazdeg son obje) (print "\nTEXT degil"))
    (COMMAND "REGEN")
   (princ)
) ;defun
(defun yazdeg (son obje / eslis eski delis)
     (setq eslis (entget (car obje)))
     (setq eski (assoc 1 (entget (car obje))))
     (setq delis (subst son eski eslis))
     (entmod delis)
     (princ))

   


merhaba arkadaşlar;

bende böyle bir lisp var. line'nın uuznlığunu fieldlı bir şekilde texte yazıyor.

1/100 paftada 1/50 detay verdiğimde 2 kat büyüttüğümden dolayı ordaki fieldlı textler örnek: 100 olması gereken text 200 gözüküyor. textin içine girip tek tek düzeltmek gerekiyor.

acaba bu lispe 1/100 1/50 1/25 şekilde seçenek vermemiz mümkün mü?
ona göre otomatik düzeltsin?

21.03.2014 10:03    

CAN123
Arkadaşlar merhaba,

Mümkünse çizgi ile yazı arasındaki mesafeyi ayarlayabileceğim bir lispe ihtiyacım var. Şöyle ki yazı ve çizgiyi tek tek yada ikisini birden seçtikten sonra çizgiyi referans alıp yazı ile çizgi arasında kalacak mesafeyi program içerisindeki değere göre yerleştirecek bir lisp olmasını istiyorum.

teşekkürler

21.03.2014 10:16    

ProhibiT
Her durumda seçilen Text yönü ve doğrultusu Line'a paralel mi?
Geçerli Dimension Style'dan DIMGAP sistem değişkeninin değeri alınarak, geçerli DIMSCALE ile çarpılarak elde edilen mesafeye yazı yerleştirilmeli.

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

linkinde paylaştığım DB fonksiyonunda bunu uyguladım. Yazmak isteyenler için örnek olabilir.

ProhibiT (21.03.2014 13:37 GMT)

21.03.2014 10:39    

CAN123
ProhibiT hocam line ve textler birbirine paralel duruyor.

teşekkürler

14.04.2014 06:36    

ferdi554455
Alıntı
MSucullu :
arkadaşlar daha önceden başka bir autocad dosyasında hazırladığım blok çizimlerimden istediğim birini, çalışmakta olduğum dosya içine kopyala-yapıştır yapan bir lisp yazılabiliyormu. Acil değil ama olursa iyi olur.
Mehmet ATALAY ın işine yararsa bir lisp gönderiyorum. Rakam sıralamak için "Num1", harf sıralamak için "NumA" yazıyorsun sonra değiştirmek istersen bunu kendine göre değiştirebilirsin.

Kod:

(defun C:Num1 ()

(setq yazıyüksekliği (getdist (strcat "
Yazi Yuksekligini Giriniz : ")))
(setq başsayı (getdist (strcat "
Başlangıç sayısını yazınız : ")))
(setq koordinat (getpoint "
yazılacak yeri tıklayınız :"))
(setq koordinatx (car koordinat))
(setq koordinaty (cadr koordinat))
(setq koordinatxy (list koordinatx (+ (/ yazıyüksekliği 2) koordinaty) 0))
(command "text" "m" koordinatxy yazıyüksekliği "0" (fix başsayı))

(while (> 10000)
(setq başsayı (+ 1 başsayı))
(setq koordinat (getpoint "
yazılacak yeri tıklayınız :"))
(setq koordinatx (car koordinat))
(setq koordinaty (cadr koordinat))
(setq koordinatxy (list koordinatx (+ (/ yazıyüksekliği 2) koordinaty) 0))
(command "text" "m" koordinatxy yazıyüksekliği "0" (fix başsayı))
)
)

(defun C:NumA ()

(setq yazıyüksekliği (getdist (strcat "
Yazi Yuksekligini Giriniz : ")))
(setq başharfi (getstring (strcat "
Başlangıç harfi yazınız : ")))
(setq koordinat (getpoint "
yazılacak yeri tıklayınız :"))
(setq koordinatx (car koordinat))
(setq koordinaty (cadr koordinat))
(setq koordinatxy (list koordinatx (+ (/ yazıyüksekliği 2) koordinaty) 0))
(command "text" "m" koordinatxy yazıyüksekliği "0" başharfi)

(while (> 10000)
(if (= başharfi "A") (setq başharfi "B") (if (= başharfi "B") (setq başharfi "C") (if (= başharfi "C") (setq başharfi "D") (if (= başharfi "D") (setq başharfi "E") (if (= başharfi "F") (setq başharfi "G")
(if (= başharfi "G") (setq başharfi "H") (if (= başharfi "H") (setq başharfi "I") (if (= başharfi "I") (setq başharfi "İ") (if (= başharfi "İ") (setq başharfi "J") (if (= başharfi "J") (setq başharfi "K")
(if (= başharfi "K") (setq başharfi "L") (if (= başharfi "L") (setq başharfi "M") (if (= başharfi "M") (setq başharfi "N") (if (= başharfi "N") (setq başharfi "O") (if (= başharfi "O") (setq başharfi "Ö")
(if (= başharfi "Ö") (setq başharfi "P") (if (= başharfi "P") (setq başharfi "R") (if (= başharfi "R") (setq başharfi "S") (if (= başharfi "S") (setq başharfi "Ş") (if (= başharfi "Ş") (setq başharfi "T")
(if (= başharfi "T") (setq başharfi "U") (if (= başharfi "U") (setq başharfi "Ü") (if (= başharfi "Ü") (setq başharfi "V") (if (= başharfi "V") (setq başharfi "Y") (if (= başharfi "Y") (setq başharfi "Z")
)))))))))))))))))))))))))
(setq koordinat (getpoint "
yazılacak yeri tıklayınız :"))
(setq koordinatx (car koordinat))
(setq koordinaty (cadr koordinat))
(setq koordinatxy (list koordinatx (+ (/ yazıyüksekliği 2) koordinaty) 0))
(command "text" "m" koordinatxy yazıyüksekliği "0" başharfi))
)
)


14.04.2014 06:36    

ferdi554455
numarayi siralandiriyor fakat harfleri siralandirmiyor..hep ayni harfi yaziyor..emeginize saglik

14.04.2014 06:56    

ferdi554455
Alıntı
ehya :
;;;Bu istediğini bir lisp üzerinde anlatmak sanırım daha iyi olur.




(defun c:yazideg (/ yazi_ne) ;;; komut ismi yazideg
(setq yazi_ne (getstring t "Aranacak yazı:")) ;;; ekranda aranacak yazı
(setq yazi_ss (getstring t "Yeni Yazı:")) ;;; yeni yazılacak yazı
(setq yazi_sec (ssget (list (cons 1 yazi_ne)))) ;;; seçim yaptığın takdirde sadece aradığın yazıların seçilmesini sağlar
(if (= yazi_sec nil)
(progn
(princ " Seçim yok!!!"))
(progn
(setq c 0) ;;; döngü oluşturacak. bunun için bir tanım yapıldı
(setq yazi_adet (sslength yazi_sec)) ;; değişecek yazıının adeti
(while (< c yazi_adet) ;; değişecek yazı adetine göre döngü oluşturuldu
(setq yazi_tek (ssname yazi_sec c)) ;; seçilen yazılardan bir tanesi seçildi
(setq yazi_1a (cdr (assoc 1 (entget yazi_tek)))) ;; seçilen yazının mevcut değeri bulundu
(setq yazi_deg (entget yazi_tek)) ;; seçilen yazının database'i açıldı
(setq yazi_deg (append yazi_deg (list (cons 1 yazi_ss)))) ;; verilen yeni yazıya göre mevcut yazı değiştirildi
(entmod yazi_deg);; işlem uygulandı
(redraw)
(setq c (+ c 1)) ;; döngü için c değeri +1 arttırıldı )))(princ))

14.04.2014 06:57    

ferdi554455
emegine saglik kardes..fakat yazi sec kismina geldiginde hicbir yaziyi secemiyor..duzenleme imkaniniz varmidir acaba..saygilarimla..

14.04.2014 07:09    

Travaci
ferdi554455


Sonuna 4 tane ")" parantez koyun.

14.04.2014 07:13    

ferdi554455
Alıntı
ehya :
Kod:

(defun c:lys ()
(setq lys_ent (entsel "\nNesneyi seçiniz:"))
  (if (= lys_ent nil)
    (progn
      )
      (progn
(setq lys_tan (cdr (assoc 8 (entget (car lys_ent)))))
(setq lys_sec (ssget "x" (list (cons 8 lys_tan))))
(princ "\nSeçilen nesneleri PREVIOUS alt komutuyla çağırın:")))
  (princ))




yukarıdaki lispi boş bi txt dosyasına kopyalayın. dosyanın uzantısını LSP olarak değiştirin. Lispi yükleyin. Komutun ismi LYS

14.04.2014 07:14    

ferdi554455
hocam emegine saglik..fakat herhangi bir cizgiyi secemiyorum..

14.04.2014 07:24    

ferdi554455
Alıntı
ehya :
Appload komutunu çalıştır. Contents butonuna bas. Açılan tabloda Add butonuna basarak her zaman yüklenmesini istediğin lispleri ekle.

14.04.2014 07:25    

ferdi554455
hocam dediginiz sekilde yapiyorum..fakat lispleri eklerken hata verdiyor eklenmiyor lispler..yardimci olabilirmisiniz..saygilarimla

26.04.2014 04:30    

leonixs
Benimde bir isteğim olacaktı.Netcad de bir komut var çoklu doğruya çevir diye.Bir sürü birbirine end point olarak bağlı line objelerinden (köşeleri filletli veya düz olabilir) sadece baştaki nesneye dokunuyorsunuz hepsini polyline a çeviriyor.Benim istediğimdeki fark şu polyline a mı çeviriyim yoksa hepsi seçili mi kalsın ? diye sorabilirse iyi olur. Yardımlarınız için şimdiden teşekkürler.

leonixs (26.04.2014 04:55 GMT)

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