18.09.2020 14:08    

cherryhill
merhaba,
elimde bir tane lisp var blokların isimlerini üstüne yazıyor. Bunun otomatik olarak bütün bloklara yazmasını istiyorum öyle bir lisp yapabilirmiyiz?

20.09.2020 20:17    

Travaci
Alıntı
cherryhill :

Eski isteklerde olması lazım.

21.09.2020 08:56    

cherryhill
Alıntı
Travaci :
Alıntı
cherryhill :

Eski isteklerde olması lazım.


baktım ama göremedim eskilerde öyle bir istek.
Birde bendeki o lispde yazı boyutunu çok küçük yapıyor ben ayarlardan büyüttüğüm zamanda blok ismi yerine sadece ''0'' yazıyor oraya.

21.09.2020 09:03    

cherryhill
Alıntı
Travaci :
Alıntı
cherryhill :

Eski isteklerde olması lazım.




Elimde 3 tane lisp var . 1 tanesi blok açıklamasını ok ile gösterip balon içinde yazıyor yazıyor ,1 tanesi blok ismini yazıyor istediğni yere yazıyor , 1 taneside blok ismini parçanın içine yazıyor. Benim istediğim Blok açıklaması olursa daha iyi olur 1 kerede tüm parçalara içine veya balon gösterip yazması.

Kod:

; places name of block as text via pick

(defun C:blockn()

(setvar "cmdecho" 0)

(setq pt(cadr(entsel"\nSelect Block:")))

(setq e1(ssget pt))

(setq e2 (entget (ssname e1 0)))

(setq blname (cdr(assoc 2 e2)))

(setq pt1 (getpoint"\nSelect point for block title:"))

(command "text" pt1 "" 0 blname)

)


Kod:

(defun c:TEST (/ #Entsel #InsPoint #Name #Desc #LandPoint)
(if (setq
       #Entsel (AT:Entsel nil "\nSelect block: " '((0 . "INSERT")) nil)
     ) ;_ setq
   (progn
     ;; convert to vla-object
     (setq #Entsel   (vlax-ename->vla-object (car #Entsel))
           ;; insertion point
           #InsPoint (vlax-safearray->list
                       (vlax-variant-value
                         (vla-get-InsertionPoint #Entsel)
                       ) ;_ vlax-variant-value
                     ) ;_ vlax-safearray->list
           ;; block name
           #Name     (vla-get-name #Entsel)
           ;; block description
           #Desc     (vla-get-comments
                       (vla-item
                         (vla-get-blocks
                           (vla-get-activedocument (vlax-get-acad-object))
                         ) ;_ vla-get-blocks
                         #Name
                       ) ;_ vla-item
                     ) ;_ vla-get-comments
     ) ;_ setq
     (cond
       ;; no description in block
       ((eq "" #Desc)
        (princ (strcat "\nNo description for block: ""
                       #Name
                       """
               ) ;_ strcat
        ) ;_ princ
       )
       ;; specify leader landing location
       ((setq #LandPoint
               (getpoint #InsPoint
                         "\nSpecify leader landing location: "
               ) ;_ getpoint
        ) ;_ setq
        (vl-cmdf "_.mleader" "_non" #InsPoint "_non" #LandPoint #Desc)
       )
     ) ;_ cond
   ) ;_ progn
) ;_ if
(princ)
) ;_ defun
;;; Entsel or NEntsel with options
;;; #Nested - Entsel or Nentsel (T for Nentsel, nil for Entsel)
;;; #Message - Selection message (if nil, "\nSelect object: " is used)
;;; #FilterList - DXF ssget style filtering, no cons (nil if not required)
;;; #Keywords - Keywords to match instead of object selection (nil if not required)
;;; Example: (AT:Entsel nil "\nSelect MText not on 0 layer [settings]: " '((0 . "MTEXT")(8 . "~0")) "Settings")
;;; Alan J. Thompson, 04.16.09
;;; Updated: Alan J. Thompson, 06.04.09 (changed filter coding and added layer option)
(defun AT:Entsel (#Nested     #Message    #FilterList #Keywords
                 /           #Count      #Message    #Choice
                 #Ent
                )
(setvar "errno" 0)
(setq #Count 0)
(or #Message (setq #Message "\nSelect object: "))
(if #Nested
   (setq #Choice nentsel)
   (setq #Choice entsel)
) ;_ if
(while (and (not #Ent)
             (/= (getvar "errno") 52)
        ) ;_ and
   (and #Keywords (initget #Keywords))
   (cond
     ((setq #Ent (#Choice #Message))
      (and
        #FilterList
        (vl-consp #Ent)
        (or
          (not
            (member
              nil
              (mapcar
                '(lambda (x)
                   (wcmatch
                     (if
                       (eq
                         (type
                           (cdr (assoc (car x) (entget (car #Ent))))
                         ) ;_ type
                         'STR
                       ) ;_ eq
                        (strcase
                          (cdr (assoc (car x) (entget (car #Ent))))
                        ) ;_ strcase
                        (cdr (assoc (car x) (entget (car #Ent))))
                     ) ;_ if
                     (cdr x)
                   ) ;_ wcmatch
                 ) ;_ lambda
                #FilterList
              ) ;_ mapcar
            ) ;_ member
          ) ;_ not
          (setq #Ent nil)
        ) ;_ or
      ) ;_ and
     )
   ) ;_ cond
   (and (= (getvar "errno") 7)
        (not #Ent)
        (setq #Count (1+ #Count))
        (prompt (strcat "\nNope, keep trying!  "
                        (itoa #Count)
                        " missed pick(s)."
                ) ;_ strcat
        ) ;_ prompt
   ) ;_ and
) ;_ while
#Ent
) ;_ defun


Kod:

(defun c:bnw (/ blk n dat)
  (setq n 0 blk (ssget (list (cons 0 "insert"))))
  (setvar "cmdecho" 0) (command "_.undo" "be")
  (if blk (repeat (sslength blk)
    (setq dat (entget (ssname blk n)) n (1+ n))
    (entmake (list (cons 0 "text") (cons 10 (cdr (assoc 10 dat)))
      (cons 11 (cdr (assoc 10 dat))) (cons 1 (cdr (assoc 2 dat)))
      (cons 40 (getvar "textsize")) (cons 72 1) (cons 73 2)))))
  (command "_undo" "end") (setvar "cmdecho" 1) (princ)
)

21.09.2020 09:10    

Travaci
textsize ile yazı yüksekliğini değiştirebilirsin.

21.09.2020 09:44    

cherryhill
Alıntı
Travaci :
textsize ile yazı yüksekliğini değiştirebilirsin.


Bir şey daha isteyeceğim ortada uzun olan komut Bloğun açıklamalar kısmını yazıyor. Benim istediğim o komutun bloğun merkezinde yazması ve açıklamalar yazması. Şuan ki hali istediğin yere seçiyorsun balon içinde yazıyor onu istemiyorum.
En alttaki komut gibi ama açıklamalar kısmını yazmasını istiyorum. çünkü blok adı uzun montajda üst üste geliyor ve birbirine giriyor ben bunlara açıklamalarda kısa adlar ekleyeceğim birbirine çakışmasın diye. teşekkürler.

29.09.2020 12:16    

neo_2558
merhabalar bir isteim olacak kısa isale hatlarında sorun yok ama uzun isale hatlarında ekte yapmak istediğim işlemi tek tek yapmak zaman alıyor elinizde bunun için bir lisp varmı yapmak istediğimi birde sözel yazayım isale hattında kazık no kot ve km yazmakta bunları bir doğru üzerinde bu bilgileri seçerek yazmazını istiyorum nasıl yapabilirim.




134594-istek.dwg

29.09.2020 22:20    

sysf1453
Merhabalar, arşivinde Leader-Box ile Blok isimlerini obje üzerine yazacağım bir Lisp bulunur mu?
Şimdiden teşekkürler.

ProhibiT (30.09.2020 21:24 GMT)

02.10.2020 12:48    

tuna-
Öncelikle tüm çizim okulu ailesine sağlıklı, mutlu ve bol kazançlı günler dilerim.

Yaklaşık olarak bundan 9-10 sene önce edindiğim lisp kitabından faydalanarak, nokta ve koordinat tanımlama yöntemiyle o gün için ihtiyacımı karşılayacak bir autolisp yazmış, bunu Autocad 2007 versiyonun ile 1-2 sene kullanmıştım.

Seneler sonra tekrar projecilik işine geri dönünce yazdığım lispleri test ettiğimde hata verdiği için ve ihtiyacım olmadığı için de kullanmayı bırakmıştım. (iş yoğunluğundan ve bilgi eksikliğinden dolayı hata aramak da o gün için bana zor gelmişti.)

Bir haftadan beri yine lispe ihtiyacım oldu, fakat ne daha önce yazdığımı ne de ihtiyacıma yönelik örnek bir lisp bulabildim.

Senelerdir pasifte kaldığım forumunuzdan ve üstatlardan bana kılavuz olabilecek bir lisp ricam olacak...

Elimde 0 (sıfır) layeri ile çizilmiş layer tipleri ve layer renkleri değiştirilmiş çizimler var. Bu layerları her defasında tek tek filitre ederek değiştirmektense, sıfır layeri ile çizilmiş objeleri (line, circel, pline, arc, hatch, text vb. ) hem layer tipini hem de layer rengini ayrı ayrı istediğim renge ve tipe dönüştürmek istiyorum.

Sizin değerli vaktinizi çalmamak için sizden bana örnek olabilecek herhangi bir objeyi seçip o objenin özelliklerini değiştirebileceğim bir lisp yazabilir misinizi rica ediyorum.

Saygılarımla.

02.10.2020 14:50    

Travaci
Alıntı
tuna- :

Layerları Laymrg ile çevirdikten sonra objeleri seçip propertiesten filtreleyip diğerlerini yapabilirsin.

02.10.2020 17:06    

tuna-
Alıntı
Travaci :
Alıntı
tuna- :

Layerları Laymrg ile çevirdikten sonra objeleri seçip propertiesten filtreleyip diğerlerini yapabilirsin.



Sn. Travaci hocam, öncelikle verdiğiniz cevap için teşekkür ederim.
Laymrg komutuna daha önce hiç ihtiyacım olmadığı için kullanmamıştım. İhtiyacım olmadığı için böyle bir komuttan da haberim yoktu. Bu zamana kadar bütün işlerimi filter i kullanarak yaptım çok da memnunum ve diğer autocad kullanıcılarına da tavsiye ederim.

Çizim o kadar karışık ki (kullanıcı hatası diyelim) Laymrg komutu ile seçim yaptığım zaman öncelikle properties açılmadığını belirtmek isterim. Ayrıca layer işaretledikten sonra hiçbir işlem yapmadan komuttan çıkıp move P komutuyla Laymrg komutunun hangi objeleri seçtiğine baktım, mübarek komut text, pline, line, circle ne bulduysa seçmiş dolayısıyla filter de olduğu gibi özellik belirtemiyorum.
Laymrg komutuyla layer çevirme işleminde ise sadece layerın ismini değiştiriyor fakat renge ve çizgi tipine müdahale edildiği için değişiklik yapmıyor.

İlginize tekrar tekrar çok teşekkür ederim.

Saygılarımla

08.10.2020 15:06    

elk21
https://www.youtube.com/watch?v=aWugO-XgxV8

https://www.youtube.com/watch?v=wDjZXZtTsA8

değerli forum üyeleri arkaşalarım ve dahi kıymetli üstadlarım linkte yer alan lisplere ihtiyacım var içinizde yardım edebilecek biri varmı saygılarımla

08.10.2020 18:19    

mttlp
Alıntı
elk21 :
https://www.youtube.com/watch?v=aWugO-XgxV8

https://www.youtube.com/watch?v=wDjZXZtTsA8
Lisp değil farklı bir yazılım
değerli forum üyeleri arkaşalarım ve dahi kıymetli üstadlarım linkte yer alan lisplere ihtiyacım var içinizde yardım edebilecek biri varmı saygılarımla

22.11.2020 14:52    

selimkydn
Merhaba arkadaşlar,
Öncelikle hepinize sağlıklı günler diliyorum.
İhtiyacım olan bir lisp var. Mevcutta hazırlanmış birçok lisp mevcut fakat benim ihtiyacım olan lispte biraz farklılıklar var. Daha doğrusu hazırlanmış fakat iki ayrı lisp olarak hazırlanmış.
İhtiyacım olan lispin özellikleri;
[[Başlangıç sayısını soracak,
Artış miktarını soracak,
Yazı yüksekliğini soracak,
Text konumunu soracak(alarga, orta),
Ön ek ister misin soracak,
Son ek ister misin soracak,
Nokta ister misin soracak( at dediğim zaman tıkladığım noktaya x-y-z nokta atacak),
Balastro ister misin (at dediğim zaman tıkladığım noktaya balastro atacak),
.xls dosyasına koordinalar yazılsın mı diye soracak( evet dersem nokta kot ve koordinatlarını excele dökecek),
Koordinat için ondalık basamak soracak.
İlgili noktayı seçin ve yeni noktayı seçin]]
şeklinde devam eden bir lisp.
Yardımlarınız için teşekkürler.
(formdaki COUNT isimli lispin biraz geliştirilmesini istiyorum)

selimkydn (23.11.2020 00:12 GMT)

21.12.2020 05:17    

adamet
Merhaba arkadaşlar,
hepinize iyi günler
Benim bir ihtiyacım var. Elimde boru metrajını excel'e döken Bome-1.lsp isimli bir dosya var. Acaba bu dosyada aşağıdaki gibi bir değişiklik yapabilir miyiz.

Çizginin başlangıç ve bitiş noktasını seçtikten sonra seçili layera göre çizime polyline çizen bir ekleme yapabilirmiyiz. yani hem poz numarasını yazsın hemde ölçtüğüm yerleri polyline a çevirsin.

Teşekkürler 423407-bome-1.lsp

25.02.2021 11:18    

eagle3043
merhaba
iyi günler

Bir lisp isteğim olacaktı.Bir paftadaki bütün blokları tabloya döksün sonra patlatınca içlerinden isaretlediğim blokları paftada da secmesini istiyorum.bu sectiğim blokları move komutu ile taşımak istiyorum
şimdiden teşekkürler.

25.02.2021 13:25    

asamet
DATAEXTRACTION ve QSELECT komutları işinizi görmüyor mu?

03.03.2021 11:49    

eagle3043
count lisp ile plandaki blokları tablo haline getirebiliyorum.Tabloyu xplode komutu ile patlatıyorum.blok finder (bf) lispi ile de tablodaki herhangi bir bir bloğu pafta içinde bulup 0 noktasından bloğa uzanan bir cizgi yapabiliyorum.Fakat ben bu seçilen bloğu move komutu taşımak istiyorum.Bu yüzden bir lisp gerekiyor.

teşekkürler

03.03.2021 15:17    

asamet
Bu söylediğinizden QSELECT komutunu denemediğiniz çıkarımını yapıyorum. Çünkü tarif ettiğiniz seçim işleminden daha da fazlasını yapabiliyor olduğunuzu görürdünüz.

İyi çalışmalar.

01.06.2021 09:02    

mantık85
Merhaba,

Elimde büyük bir proje alan hesabı yapıyorum ama üstüste aynı hatch gelmiş bazı alanlara. bunu teke düşürebileceğim bir komut var mı? ya da lisp?

Ö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] [90] > 92 < [95] [100] Sonraki Sayfa
Copyright © 2004-2022 SQL: 1.625 saniye - Sorgu: 98 - Ortalama: 0.01658 saniye