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.
|
alumina
|
tamam tartışmayın ben ikinizede tsk ediyorum :)
|