08.01.2016 15:12    

archmim
Merhaba,
Hayatımda ilk kez bir foruma mesaj yazıyorum. Yani bu durum, birazdan belirteceğim isteğimin ne kadar önemli olduğunu anlatmaya yeter sanırım. Ben Autocad'de Extrude edilmiş bir nesneyi hem Polar Array ile çoğaltmak aynı zamanda her bir nesneyi de Z ekseninde belirli bir mesafede yukarı taşımak istiyorum. Bu mümkün müdür? Böyle bir lisp oluşturulabilir mi?

08.01.2016 15:43    

alumina
Alıntı
archmim :
Merhaba,
Hayatımda ilk kez bir foruma mesaj yazıyorum. Yani bu durum, birazdan belirteceğim isteğimin ne kadar önemli olduğunu anlatmaya yeter sanırım. Ben Autocad'de Extrude edilmiş bir nesneyi hem Polar Array ile çoğaltmak aynı zamanda her bir nesneyi de Z ekseninde belirli bir mesafede yukarı taşımak istiyorum. Bu mümkün müdür? Böyle bir lisp oluşturulabilir mi?



Ornek bir ciziminizi buraya yuklerseniz yardimci olabiliriz.

10.01.2016 13:34    

lispline
Arkadaşlar merhaba bana çok acil "helis dişli çarkın modül ve diş sayısı girildiğinde bütün hesaplamalarını yapan ve helis dişli çarkın yapım resmini ekrana çizdiren" lisp lazım.Yardımcı olabilecek birileri var mı acaba? Gerçekten çok acil ve önemli.Yardımcı olursanız çok minnettar olurum.

16.01.2016 12:49    

bedyr
merhaba arkadaşlar bu lispin tek polyline lı olanını yapabilirmiyiz? duvardan belirli bir offsetle çizim..

Kod:

;;------------------------=={ Multi-Polyline  }==-----------------------;;
;;                                                                      ;;
;;  This program enables the user to create objects with the appearance ;;
;;  of multilines, however, which are composed of standard polylines.   ;;
;;                                                                      ;;
;;  The program will invoke the standard AutoCAD MLINE command,         ;;
;;  allowing the user to construct the object with the real-time        ;;
;;  dynamic preview afforded by the MLINE command, with the resulting   ;;
;;  multiline automatically exploded & joined to form standard 2D       ;;
;;  polylines.                                                          ;;
;;----------------------------------------------------------------------;;
;;  Author:  Lee Mac, Copyright © 2010  -  www.lee-mac.com              ;;
;;----------------------------------------------------------------------;;
;;  Version 1.0    -    2010-06-19                                      ;;
;;                                                                      ;;
;;  First release.                                                      ;;
;;----------------------------------------------------------------------;;
;;  Version 1.1    -    2015-09-12                                      ;;
;;                                                                      ;;
;;  Program rewritten.                                                  ;;
;;----------------------------------------------------------------------;;

(defun c:mpl ( / *error* ent sel val var )

    (defun *error* ( msg )
        (mapcar 'setvar var val)
        (LM:endundo (LM:acdoc))
        (if (and msg (not (wcmatch (strcase msg t) "*break,*cancel*,*exit*")))
            (princ (strcat "\nError: " msg))
        )
        (princ)
    )

    (LM:startundo (LM:acdoc))
    (setq ent (entlast))
    (vl-cmdf "_.mline")
    (while (= 1 (logand 1 (getvar 'cmdactive)))
        (vl-cmdf "")
    )
    (if (not (eq ent (setq ent (entlast))))
        (progn
            (setq var '(cmdecho peditaccept qaflags)
                  val  (mapcar 'getvar var)
                  sel  (ssadd)
            )
            (mapcar 'setvar var '(0 1 0))
            (vl-cmdf "_.explode" ent)
            (while (setq ent (entnext ent)) (ssadd ent sel))
            (vl-cmdf "_.pedit" "_m" sel "" "_j" "" "")
        )
    )
    (*error* nil)
    (princ)
)

;; Start Undo  -  Lee Mac
;; Opens an Undo Group.

(defun LM:startundo ( doc )
    (LM:endundo doc)
    (vla-startundomark doc)
)

;; End Undo  -  Lee Mac
;; Closes an Undo Group.

(defun LM:endundo ( doc )
    (while (= 8 (logand 8 (getvar 'undoctl)))
        (vla-endundomark doc)
    )
)

;; Active Document  -  Lee Mac
;; Returns the VLA Active Document Object

(defun LM:acdoc nil
    (eval (list 'defun 'LM:acdoc 'nil (vla-get-activedocument (vlax-get-acad-object))))
    (LM:acdoc)
)

(vl-load-com) (princ)

;;----------------------------------------------------------------------;;
;;                             End of File                              ;;
;;----------------------------------------------------------------------;;

ehya (17.01.2016 10:22 GMT)

18.01.2016 10:38    

pulp fiction
Arkadaşlar merhaba;

text hizalama lispindeki gibi;

bendeki poz blocklarını alt alta ya da üst üste şeklinde aynı hizaya getirmek istiyorum. bunu yapacak bir lisp mümkün mü?

18.01.2016 10:56    

alumina
poz bloklari derken, bloklarin kendisini insert noktalarina gore hizalamaktan mı bahsediyorsunuz?

18.01.2016 11:13    

pulp fiction
1. ve 2. noktayı seçtiğimde bloğun o seçmiş olduğum düzlemde hizalanmasını sitiyorum hocam. tabi bu durum hem x hem y için geçerli olaursa süper olur.örnekte anlatmaya çalıştım.. 115597-ornek.dwg

18.01.2016 11:16    

alumina
Ok. Aksam yazarim ins.

18.01.2016 11:22    

pulp fiction
eyvallah çok saolsın :=)

18.01.2016 12:52    

Travaci
pulp fiction


Hizzalama lispine insert ü seçim setine eklersen çalışacaktır. (ssget (list (cons 0 "text,insert")))

18.01.2016 13:51    

alumina
lispe bakmamistim, yazmaya gerek kalmadi o zaman.

19.01.2016 09:01    

pulp fiction
hocam şu şekilde yaptım ama ''error: malformed list on input'' diye hata veriyor. neyi yanlış yaptım anlamadım...

(defun c:zzxx ( / p1 ss flag)
(if (not yatay) (progn (setq yatay 1)))
(if (not dikey) (progn (setq dikey 0)))
(while (not flag)
(initget "St eXit" 128)
(setq p1 (getpoint "\n1.nokta [St/eXit]: "))
(cond
((equal p1 "St")
(dia)
)
((equal (type p1) 'list)
(setq flag t))
(t
))
)
(if ( = yatay 0) (progn (setq as 10)))
(if ( = yatay 1) (progn (setq as 11)))
(if ( = yatay 2) (progn (setq as 11)))
(setq p2 (getpoint p1 "\n2.nokta:"))
(grdraw p1 p2 1)
(command "select" "\")
(grdraw p1 p2 3)
(setq ss (ssget (list (cons 0 "text,insert")))
(if ss
(progn
(setq n 0)
(while ( < n (sslength ss))
(setq p3 (cdr (assoc 10 (entget (ssname ss n)))))
(if ( = dikey 0) (progn
(setq aci (cdr (assoc 50 (entget (ssname ss n)))))))
(if ( = dikey 1) (progn
(setq aci ( + (cdr (assoc 50 (entget (ssname ss n)))) ( / pi 2)))))
(setq p4 (polar p3 aci 20))
(setq p5 (inters p1 p2 p3 p4 nil))
(if ( not p5) (progn) (progn
(setq ef (entget (ssname ss n)))
(setq ef
(subst (cons 72 yatay)
(assoc 72 ef)
ef
)
)
(entmod ef)
(setq ed (entget (ssname ss n)))
(setq ed
(subst (cons as p5)
(assoc as ed)
ed
)
)
(entmod ed)
))
(setq n ( + n 1))
)))
(princ)
)

20.01.2016 16:22    

alumina
Kod:

(defun c:bl (/ ax ss pp i ob pt pn) (vl-load-com)
  (initget 1 "x y")
  (setq ax (getkword "\nAxis [X/Y]:"))
  (if (setq ss (ssget '((0 . "insert"))))
    (if (setq pp (getpoint "\nPoint:"))
      (progn
        (repeat (setq i (sslength ss))
          (vla-getboundingbox (setq ob (vlax-ename->vla-object
            (ssname ss (setq i (1- i))))) 'mn 'mx)
          (setq pt (vlax-safearray->list mn)
                pn (cond
                     ((= ax "x") (list (car pt) (cadr pp)))
                     ((= ax "y") (list (car pp) (cadr pt)))))
          (vla-move ob (vlax-3d-point pt) (vlax-3d-point pn))
        )
      )
    )
  ) (princ)
)

20.01.2016 19:59    

pulp fiction
Eline sağlık Teşekkür ederim hocam 😊

04.02.2016 10:29    

herkul
merhaba öncelikle bu kadar değerli bilgiler paylaşarak bizlere yardımcı olan tüm arkadaşlara ve yöneticilere teşekkür etmek istiyorum.

istediğim bir lisp var fakat yaklaşık 2 gündür sitede arıyorum parça parça buldum fakat birleştiremedim.
tarif etmek gerekirse
1- seçilen çizgiye poz numarası vererek üzerine uzunluğunu yazmak
2- bir excel dosyası üzerine poz no ve uzunluk yazarak seçim esnasındaki bilgilerin akışını sağlamak

amaç duvar ve sıva metrajları yaparken kolaylık sağlamak için.

M. Şahin hocamın boru metraj lispinede benziyor,
ehya hocamın

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

linkindeki uzunluk yazdırma lispine de benziyor.

dediğim gibi ikisini birleştirerek istediğim gibi bir lisp ortaya çıkartamadım.
yardımınızı rica ediyorum.

04.02.2016 10:36    

alumina
Alıntı
herkul :

1- Cizgileri tek tek mi seciyorsunuz, yoksa toplu olarak mi?
2- Poz numaralarini ve uzunlugu nasil veriyorsunuz? (ornegin P01/650 gibi)
3- Dosyaniz uzerinde daha sonra calismaya devam ettiginizde eski poz numaralari korunacak mi? (yani son poz numarasindan sonrami pozlamaya devam etmeli?)
4- ayni cizgi boyundan onceki pozlarin icerisinde varsa onceki poz numarasi mi kullanilsin, yoksa yeni numarasimi verilsin?
.
.
.
. vs vs
Ornek cizim dosyasi paylasirsaniz yardimci oluruz.

04.02.2016 11:27    

herkul
1- mümkünse toplu olarak seçmek ve seçim sırasına göre numaralandırmak,
2- poz numaraları 001 den başlayarak ardışık devam edebilir, poz numarası ve uzunluk orneginizdeki gibi "/" veya "-" gibi bir ayıraçla yazılabilir ancak mümkünse excele aktardığımızda ayrı sütunlara yazılmaları
3- hangi sayıdan başlıyacağımız sorulursa eski poz numaralarını koruyarak devam edebiliriz,
4-çizgi boyuna ait bir tiplemeye ihtiyaç duyulmadığı için yeni poz numarası vererek devam edilebilir.
5- polyline ve line ayrımı yapmaksızın çalışması

poz no ve uzunluk yazımında şekil şartı olmaksızın yapılabilir olması esastır

ilginizden dolayı teşekkürler.



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

05.02.2016 13:07    

Travaci
herkul


Kod:

;; ============================================== ;;
;; Cizgi Ustune Ve Dwg Yanina Exel Dosyasi Acarak ;;
;;        Poz Ve Uzunluk Bilgilerini Yazar        ;;
;;            Created By Erkan Travaci            ;;
;; ============================================== ;;

(defun c:trv (/ sy sg dt) (vl-load-com)
  (if (= (getvar 'useri5) 0) (setvar 'useri5 1))
  (setq sy (getreal (strcat "\nFirst no <" (rtos (getvar 'useri5) 2 0) "> :")))
  (if (not sy) (setq sy (getvar "useri5")) (setvar 'useri5 sy))
  (if (setq x -1 sg (ssget (list (cons 0 "line"))))
    (progn
      (setq dt (open (strcat (getvar 'dwgprefix)
        (vl-filename-base (getvar 'dwgname)) ".xls") "a"))
      (vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
      (repeat (sslength sg)
        (setq ob (vlax-ename->vla-object (ssname sg (setq x (1+ x))))
              ac (vla-get-Angle ob))
        (if (and (<= ac 4.71239) (> ac 1.5708)) (setq ac (+ 3.14159 ac)))
        (setq mp (polar (vlax-curve-getpointatdist ob (/
          (setq di (vla-get-Length ob)) 2)) (- ac (/ pi 2)) (getvar 'textsize)))
        (entmake (list (cons 0 "text") (cons 8 "Poz")
          (cons 1 (strcat (rtos (getvar 'useri5) 2 0) "-" (rtos di 2 0)))
          (cons 10 mp) (cons 40 (getvar 'textsize)) (cons 41 0.85)
          (cons 11 mp) (cons 50 ac) (cons 72 1) (cons 73 2)))
        (write-line (strcat (rtos sy 2 0) "\t" (rtos di 2 0)) dt)
        (setq sy (setvar 'useri5 (1+ sy)))
      )
      (vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
      (close dt)
    )
  ) (princ)
)

Travaci (15.04.2019 14:17 GMT)

03.04.2016 16:12    

ayak
Sevgili arkadaşlar
Tesisat çizimlerinde boru üzerinde DN32, 11/2" gibi yazılar var
çizgi üzerindeki bu yazıları tanıyıp ait olduğu çizgiyi de
ayrım noktasına kadar bu DN32, 11/2" gibi
isimli Layerlara otomatik atayabileceğim bir lisp yazılabilir mi

05.04.2016 14:00    

madboy20
İyi Günler..
bir lisp isteğim olacaktır. konu şu
Mevcut çizimde seçilen birden çok line ların koordinatlarınndaki küsüratların silinmesi...
ör;
line koordinatları

x start:125,25
y start: 75,49

x end:125,45;
y end: 95,67;


olan bir line ın

x start:125;
y start: 75;

x end:125;
y end: 96;

şeklinde matematiksel olarak doğru şekilde yuvarlayarak düzeltmesi..
(çok önemli olmamakla beraber pline ları da yapabilen olabilirse daha iyi olur)

Forumda ve isteklerde inceledim ancak bulamadım..
Yardımcı olabilirseniz sevinirim.
Şimdiden teşekkürler
İyi çalışmalar.

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