24.11.2014 09:20    

raskoln
BU ÇİZİMİN TAMAMINI SEÇİNCE SADECE KESİK VE NORMAL ÇİZGİLER HARİCİ HERŞEYİ SİLEN BİR LİSP YAPILABİLİR Mİ?

24.11.2014 09:24    

alumina
yapılabilir :)

24.11.2014 09:53    

alumina
tabikide yaparim ama oncelikli olarak istediğin seyi biraz daha acik anlatsan daha iyi olur. Normal ve kesikli çizgiler hariç her sey silinsin diyorsun. Bundan anlasilan çizgi hariç her sey silinsin demektir. Dogru mu?

24.11.2014 10:59    

alumina
Asagidaki kod cizimde bulunan line ve circle haric kalan nesneleri herhangi bir ozelligine bakilmaksizin siler. Kismi secim yapılabilir. Enterle pas geçilirse cizimin tamami için islem yapar.

(defun c:alumina()
(prompt "\nSelect object:")
(setq obj (ssget '((-4 . "<NOT") (0 . "line,circle") (-4 . "NOT>"))))
(while
(null obj)
(setq obj (ssget "x" '((-4 . "<NOT") (0 . "line,circle") (-4 . "NOT>")))))
(command "._erase" obj "")
(princ))

24.11.2014 13:30    

alumina
(defun c:alumina()
(command "._erase" (ssget "x" '((-4 . "<NOT") (0 . "line,circle") (-4 . "NOT>"))) "")
(princ))

24.11.2014 13:31    

alumina
referans obje istemiyordu. sadece belirli bir alanda silme işlemi işlemi yapmak istersen o alanı seçiyordun. eger pas geçersen zaten tum alanı otomatik olarak kendisi seçip siliyordu..

24.11.2014 14:45    

alumina
O halde olcu cizgilerini kontrol et. Dedigin gibiyse olculer patlatilmistir. Patlayan olcu cizgileride line ve text nesnelerine donusur. Line nesneleri silinmeden birakildigi icinde silinmez. Aksi halde yukardaki kodun cizimdeki bagimsiz (blogun icinde olmayan) line ve circle nesnelerini silmeden birakmasi IMKANSIZDIR.

24.11.2014 15:37    

alumina
ıstediginiz seylerde tutarsizlik var sanki.
1- katmani seçen degilde diyorsunuz. katmani seçmezse 0 katmaninida siler tabiki.
2- çizgi ve daire veya yardımcı çizgi diyorsunuz. autocad de line nesnesi vardir, ama yardımcı line nesnesi diye bir sey yoktur.

Istediginiz seyi duzgun ve anlasilir bir sekilde ifade ederseniz yardımcı olabilirim.

24.11.2014 16:02    

alumina
yazılan kod line ve circle olanlari birakip kalanlari siliyor zaten.

24.11.2014 16:07    

Travaci
:D raskoln yaa bitane.

24.11.2014 16:33    

alumina
raskoln ben pes ediyorum. sen pusata yada dimitriye sor.

24.11.2014 18:59    

alumina
ya yaparim sorun değil ama abi ne biliyim andre nin attigi kursun seni baya baya bi afallatmis. baksana ne göndersem yok sunuda yapar mı yok bunuda yapar mı yok camasır yıkar mı yok temizligide gider mi diyorsun. bi karar ver nolur ya.

24.11.2014 22:48    

alumina
(defun c:info()
(prompt "\nSelect the reference objects:")
(setq ro (ssget))
(while
(null ro)
(prompt "\nSelect the reference objects:")
(setq ro (ssget)))
(setq lst '())
(setq i 0)
(repeat (sslength ro)
(if
(null (member (cdr (assoc 0 (entget (ssname ro i)))) lst))
(setq lst (cons (cdr (assoc 0 (entget (ssname ro i)))) lst)))
(setq i (1+ i)))
(setq ek "")
(foreach lst_1 lst
(if
(equal lst_1 (last lst))
(progn
(setq ek (strcat ek lst_1)))
(progn
(setq ek (strcat ek lst_1 ",")))))
(command "._erase" (ssget "x" (list (cons -4 "<NOT") (cons 0 ek) (cons -4 "NOT>"))) "")
(princ))

25.11.2014 09:40    

Travaci
Kod:

(defun c:sde (/ et ls)
  (while (setq et (car (entsel)))
    (if ls
      (setq ls (strcat ls "," (cdr (assoc 0 (entget et)))))
      (setq ls (cdr (assoc 0 (entget et))))) (redraw et 3))
  (if (not ls) (exit)) (setvar "cmdecho" 0) (command "_.undo" "be") 
  (command "._erase"
    (ssget "x" (list (cons -4 "<NOT") (cons 0 ls) (cons -4 "NOT>"))) "")
  (command "_.undo" "e") (setvar "cmdecho" 1) (princ))

25.11.2014 09:46    

Travaci
Bana deil alumina ya ediceksin :) ben çeşit olsun diye koydum.

25.11.2014 10:46    

alumina
tamam tartışmayın ben ikinizede tsk ediyorum :)

> 1 <
Copyright © 2004-2022 SQL: 2.891 saniye - Sorgu: 90 - Ortalama: 0.03212 saniye