07.07.2011 14:03    

TR-hathor
Arkadaşlar herkese merhaba öncelikle sitede aradım, internettede aradım ama bana yardımı olacak bi yardımcı program yada lisp bulamadım. ve tek umudum, daha öncede yardımınızı çok gördügüm siz autocadokulu.Com kullanıcıları. istediğim düşündüğümde zor gibi görünüyor banada ama elinde böyle bi lisp bulunan yada yapabilecek arkadaşlar varsa yardımcı olursa sevinirim.

sorunum,
çizimdeki taramalarda gördüğünüz gibi yeşil ve kırmızı renkli hatchler (solidler) olarak ikiye ayrılmış.
benim yapmam gereken kendi içinde yeşilin etrafından polyline dolanmak ve kırmızı hatcin etrafından polyline dolanmak (çizmek)
ama diger bi sorunda örnek; kırmızı hatch için, tek bi hatch parçası olmayıp hatch parçacıkları olması(patlak degiller ama). o yüzden benim aradıgım lispin bu hatch guruplarını rengine ayırt edip.. renk gruplarınn en dışından polyline dolanması. bunun yapılması zor gibi görünüyor ama bi umutla sizedende yardım istiyorum... umarım bulurum çözümünü!!!!

admin (28.11.2017 18:52 GMT)

07.07.2011 14:23    

k005
Alıntı
TR-hathor :
gönderdiğiniz link açılmıyor..

07.07.2011 14:25    

TR-hathor
Hocam yazıyı düzelttim... link i siteye kopyalıyınca büyük harfi otamatik küçükyapıp kaydediyor. denedim defalarca düzeltemedim.... yukarda notta yazdıgım gibi c q g harfleri dışındakileri büyük yazarsanız açılıyor. iyi günler.

07.07.2011 14:38    

ProhibiT
Arama motorlarında bir konu ararken, "acil" diye bir arama yapar mısınız? bu nedenle konu başlığınızı düzelttim. linkte büyük/küçük harf bir şey değiştirmez. appload ettiğiniz site yasaklı site. başka bir konuma appload edip link verirseniz herkes legal olarak ulaşır.

07.07.2011 15:05    

TR-hathor
Alıntı
ProhibiT :
Arama motorlarında bir konu ararken, "acil" diye bir arama yapar mısınız? bu nedenle konu başlığınızı düzelttim. linkte büyük/küçük harf bir şey değiştirmez. appload ettiğiniz site yasaklı site. başka bir konuma appload edip link verirseniz herkes legal olarak ulaşır.



düzelttim link i. sitenin yasaklı olduğunu bilmiyordum. benim bilgisayarda açılıyor normalde ama hiç bi uyarıda vermmişti. kusura bakmayın.

07.07.2011 16:13    

ProhibiT
Çiziminizdeki objelerin hatch ile ilgisi ilintisi yok ki... tamamen 2dsolid objeler bunlar.

solid'ler özünde 4 nokta ile tanımlı "trace" objeleridir. sizin objeleriniz sanki bir nirengi işlemiyle oluşturulmuşcasına 3 nokta ile tanımlanmış. yani (assoc 12 ve (assoc 13'leri biribirinin aynı.

bu durumda, solid (trace) objelerini ele alıp, renklerine göre guruplandırıp, mevcut solid objelerinin 3 noktasıyla tanımlı "region" lar oluşturulduktan sonra, ilgili renk gurubundaki region'lar, kendi aralarında "union" edilip nihai region'ları ele alarak bunların köşe noktalarını kullanarak (mesela) polyline'lar oluşturulabilir.

bana en kesitirme çözüm yolu bu gibi geliyor. bu aralar uğraşacak vaktim yok, uğraşabilecek arkadaşlara yol gösterici olabilir düşüncesiyle burada detaylarıyla açıklamaya çalıştım.

kolay gelsin.

08.07.2011 07:18    

TR-hathor
Prohibit teşekkürler yardımın için... lisp yazmayı bilmiyorum ama dediklerini sırayla kendim deniyecegim, biraz uraşayım çözmeye. tekrar saol.

10.07.2011 10:01    

ProhibiT
World Coordinate System (WCS) de olduğunuzdan emin olun.
Fonksiyon çalışırken AutoCAD cevapsız duruma (Not Responding) düşerse telaş etmeyin, sabırla bekleyin.
Kod:

;;;------------------------------------------------------------------------
;;;|  Seçilen obje gurubu içindeki tüm (2D) Solid objeleri seçerek,       |
;;;|  renklerine göre guruplandırır. Her guruptaki Solid objelerden önce  |
;;;|  PoLyLine objerleri oluşturup bunları Region'a çevirdikten sonra     |
;;;|  her guruba kendi içinde Union komutu uygulayarak birleştirir.       |
;;;|  oluşturulan bileşik Region'lar explode edilerek, yeni oluşan        |
;;;|  Line objeleri Pedit ile birleştirilerek sınırları belirleyen        |
;;;|  PoLyLine objeleri oluşturulur.                                      |
;;;|                 Hazırlayan M. Şahin Güvercin  www.autocadokulu.com   |
;;;------------------------------------------------------------------------
(defun c:Kontur (/ Obj L n cLrs cLr M o ObG pLns pvt Lob Lb PeO)
  (command "_.undo" "group") (setvar "cmdecho" 0)
  (setvar "modemacro" "Prepared by: M. S. Guvercin")
  (setq Obj (ssget (list (cons 0 "solid"))) L (sslength Obj) n -1 cLrs nil)
  (while (< (setq n (1+ n)) L)
    (setq cLrs (append cLrs (list (cdr (assoc 62 (entget (ssname Obj n))))))))
  (setq L (length cLrs) n -1)
  (while (< (setq n (1+ n)) L)
    (setq cLr (nth n cLrs) cLrs (append (list cLr) (vl-remove cLr cLrs))
          L (length cLrs)))
  (setq cLrs (vl-sort cLrs '<) n -1)
  (while (< (setq n (1+ n)) L)
    (command "select" Obj "")
    (setq ObG (ssget "p" (list (cons 0 "solid") (cons 62 (nth n cLrs))))
          M (sslength ObG) o -1 pLns (ssadd))
    (while (< (setq o (1+ o)) M)
      (setq pvt (entget (ssname ObG o)))
      (entmake
        (list '(0 . "lwpolyline") '(100 . "AcDbEntity") '(67 . 0) (assoc 8 pvt)
              (cons 62 (nth n cLrs)) '(100 . "AcDbPolyline") '(90 . 4)
              '(70 . 129) '(43 . 0.0) '(38 . 0.0) '(39 . 0.0)
              (cons 10 (cdr (assoc 10 pvt))) '(40 . 0.0) '(41 . 0.0)
              '(42 . 0.0) '(91 . 0) (cons 10 (cdr (assoc 11 pvt))) '(40 . 0.0)
              '(41 . 0.0) '(42 . 0.0) '(91 . 0) (cons 10 (cdr (assoc 12 pvt)))
              '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) '(91 . 0)
              (cons 10 (cdr (assoc 13 pvt))) '(40 . 0.0) '(41 . 0.0)
              '(42 . 0.0) '(91 . 0)))
      (setq pLns (ssadd (entlast) pLns)))
    (setq LOb (entlast) Lb Lob Unns (ssadd))
    (command "_.region" pLns "")
    (while (setq Lb (entnext Lb)) (setq Unns (ssadd Lb Unns)))
    (command "_.union" Unns "")
    (setq Lb Lob)
    (while (setq Lb (entnext Lb)) (if (= "REGION" (cdr (assoc 0 (entget Lb))))
                                    (command "_.explode" Lb)))
    (setq Lb Lob PeO (ssadd))
    (while (setq Lb (entnext Lb)) (setq PeO (ssadd Lb PeO)))
    (command "_.pedit" "m" PeO ""
             (if (= 0 (getvar "peditaccept")) "y") "j" "0.0000" ""))
  (command "_.erase" Obj "")
  (command "_.undo" "e") (prin1)
)
(princ "\nKomut Adı: KONTUR, Hazırlayan M.Şahin güvercin-www.autocadokulu.com")
(prin1)

ProhibiT (11.07.2011 12:10 GMT)

11.07.2011 06:03    

TR-hathor
Prohibit hocam, allah tuttugunu altın etsin :) çok büyük bir zaman kaybından kurtardın beni. diger araziyle ugraşan arkadaşlarında çok işine yarıcagını düşünüyorum bu lispin. bir günlük bir iş zamanını 5dk ya düşürmek inanılmaz :) lispi denedim ve sorunsuz çalışıyor. çok teşekkürler tekrar... bir numarasın. :wink

11.07.2011 06:36    

ProhibiT
Işinizi görmesine sevindim :) vakit darlığından yalnızca çözüm için aklıma gelen mantık silsilesini yazmıştım. böyle algoritma ile ilgili açıklamalar yazdığımızda, pek çok arkadaşımız için boşlukta kaldığını düşündüm, oturup yazmak zorunda hissettim kendimi.

kolay gelsin.

11.07.2011 09:03    

TR-hathor
Prohibit hocam bu lispi kullanıyorum fakat misal 20km lik bir çizim için baya zaman alıyor. ve error verdirdim yanlışlıkla. bu lispe komple çizme degilde ''sadece mause la seçtigimiz alanı yap'' lı olarak lispi revize edebilirmiyiz?? sadee mause la seçtigim alan üzerinde solidlerin etrafında polyline çizmesini isitiyorum. diger türlüde işime yarayor ancak error verme riskini azaltmak için böyle bişey yapabilirsek daha iyi olur sanırım. teşekkürler.

11.07.2011 12:13    

ProhibiT
Istenen değişikliği yapıp yukarıdaki kodu güncelledim. obje seçerken cesur davranabilirsiniz, seçtiğiniz bölgedeki yalnızca 2d solid objelerini işleme alacak, varsa diğer tür objeleri görmezden gelecektir.

kolay gelsin.

11.07.2011 15:09    

TR-hathor
Teşekkürler :)

04.06.2012 14:56    

sagliko
Hocam

Bu lisp i yükledim ama

bad list value of ssget hatası veriyor.



Ve Sadece solid objeler için çalışıyor.

Solid yerine hatch yazdım fakat parametreler uyuşmuyor sanırım.

07.06.2012 10:12    

cameronohz
link silinmis :/

20.06.2018 15:28    

barkint007
konuyu hortlatayım dedim bana bu lispin solid olanı değilde hatch li olanı lazım yardım edebilecek bi arkadaş varmı acaba

03.04.2019 15:41    

kesinhesapci
Sn ProhibiT hocama saygı ve selamlarımla.

Öncelikle değerli vaktinizi ayırıp bu lispi hazırladığınız için tekrar teşekkürlerimizi kabul buyrunuz lütfen.

Hocam, vaktiniz olması durumunda şayet bu lispi Hatch objeleri için revize etme imkanınız olur mu..

> 1 <
Copyright © 2004-2022 SQL: 2.552 saniye - Sorgu: 101 - Ortalama: 0.02527 saniye