Copyright © 2004-2022 SQL: 2.155 saniye - Sorgu: 99 - Ortalama: 0.02176 saniye
04.10.2015 15:26
zahmeri |
Aynı isimli blokları tek seferde seçmek, kopyalamak veya taşımak
İyi günler arkadaşlar. Siteye yeni kayıt oldum. Gerçekten çok faydalı bilgiler mevcuttur. Öncelikle herkesten Allah razı olsun. Daha önce sorulmuş ama çok vaktim olmadığı için bütün sayfalara bakıp cevabını bulacak zamanım olmadığı için tekrar soruyorum. Farklı isimlerden oluşan bloklar kümesinde istenilen bloğa tıklayınca aynı isimdeki diğer bloklarıda seçip, aynı çizim sayfasına yada başka çizim sayfasına taşıyan, kopyalamamıza yardımcı olan bir lisp varmı? Amacım ilgili blok ismine ait eşdeğer isimdeki diğer blok çizimlerini tek tek seçmeden bir seferde seçerek kopyalamak veya taşımak. admin (14.12.2017 16:09 GMT) |
04.10.2015 20:05
alumina |
Alıntı "qselect" komutunu denediniz mi?
|
04.10.2015 21:29
zahmeri |
qselect komutu ile daha önce denedim ama bir türlü yapamamıştım.sizin telkininizle tekrar denedim.tam bilemeyince doğal olarak çözüme kavuşturmakta biraz sancılı oluyor.En nihayetinde qselect komutu ile yaptım..teşekkür ederim..
|
05.10.2015 13:08
BLack|E |
Alıntı alumina hocam merhaba, bu alıntıdaki lisp aşağıdaki hataları veriyor sıklıkla. Ayrıca ikinci olarak aşağıdaki resimdeki durumla karşılaşıyorum. Neden olabilir acaba. Yardımlarınız için şimdiden teşekkürler. Command: CH Select objects: ; error: AutoCAD variable setting rejected: "chamfera" -21.7618
|
05.10.2015 22:29
alumina |
Alıntı ; error: AutoCAD variable setting rejected: "chamfera" -.... hatasini vermez artik. Resimdeki durum icinde revize edildi. Kod: (defun c:ch (/ ss ln ns dt) (vl-load-com)
(if (setq ss (ssget ":s" '((0 . "line")))) (if (setq ln (ssget ":s" '((0 . "line")))) (if (setq ns (ssget ":s" '((0 . "line")))) (progn (setvar "cmdecho" 0) (setq dt (vlax-safearray->list (vlax-variant-value (vla-get-delta (vlax-ename->vla-object (ssname ss 0)))))) (setvar "chamfera" (abs (car dt))) (setvar "chamferb" (abs (cadr dt))) (vl-cmdf "._chamfer" (vlax-curve-getclosestpointto (vlax-ename->vla-object (ssname ln 0)) (car (cdr (nth 4 (cadr (ssnamex ln)))))) (vlax-curve-getclosestpointto (vlax-ename->vla-object (ssname ns 0)) (car (cdr (nth 4 (cadr (ssnamex ns))))))) ) ) ) ) (princ) )
|
06.10.2015 06:22
BLack|E |
Alıntı alumina hocam consp hatası veriyor bu seferde. Sizide zahmet veriyoruz ama :) Command: ch Select objects: Select objects: Select objects: ; error: bad argument type: consp nil alumina (06.10.2015 08:00 GMT) |
06.10.2015 06:30
alumina |
Ertan,
Bende hata vermiyor. Secim siralamasini uzerine isaretleyerek dosyayi yukle buraya bakalim hemen.
|
06.10.2015 07:01
BLack|E |
hangi dosyadan bahsediyorsunuz hocam anlamadım. seçip sıralaması konuştuğumuz gibi ilk önce x ekseni sonra y ekseni.
|
06.10.2015 07:10
alumina |
yukarda bahsettigin hatayi veren dosyadan bahsediyorum.
|
06.10.2015 07:30
BLack|E |
|
06.10.2015 07:47
alumina |
|
06.10.2015 07:58
BLack|E |
Tamam hocam ben tekrar yükleme yapayım. Bilgisayarı kapatım açayıp teşekkürler.
|
10.10.2015 08:17
LEYLO |
Arkadaşlar,
(setq ss1 (ssget "x" (list (cons 0 "*text") (cons 40 2) ))) seçim seti oluşturdum. Sıkıntı yok çalışıyor. Fakat (setq ss1 (ssget "x" (list (cons 0 "*text") (cons 40 2.2098) ))) olarak ondalıklı text yüksekliği yazınca hata veriyor. Sıkıntı ne olabilir ? LEYLO (10.10.2015 08:43 GMT) |
10.10.2015 09:40
alumina |
Alıntı Cizimin tamaminda otomatik secim yaptirmissin. Eger cizimde 2.2098 yuksekliginde text yada mtext varsa hepsini secer. Yazdigin satirda hata yok.
|
10.10.2015 13:04
ongunoz |
Arkadaşlar merhabalar. 2 tane sorum olacaktı sizlere:
1.Elimde bir lisp var fakat biraz değişiklik gerekiyor. istediğim tek değişiklik aslında bu lisp virgülden sonra 2 hane yazdırıyor. ben 3 hane yazdırmasını istiyorum. lisp bu: (setq DT (getreal "datum?")) (setq sn (getint "snap?")) (setq aci (getint "aci?")) (setq yuk (getreal "yükseklik?")) (defun c:ko() (repeat 1000 (setvar "osmode" sn) (setq a (getpoint "KOT VERiLECEK NOKTAYI SECiN")) (setvar "osmode" 0) ;******YAZI ROTATION-DERECE CINSINDEN************* (setq der1 (* 0.8 yuk)) (setq der2 (* 0.5 yuk)) (setq b (polar a 2.4662 der1)) (setq c (polar a 0.6754 der1)) (command "line" a b c "c") (setq d (polar b (* 0.5 pi) der2)) (setvar "dimzin" 0) (setq e (cadr a)) (setq e (+ dt e)) (setq e (rtos e 2 2)) (command "text" d yuk aci e) ) ) ; END = 1 ; MID = 2 ; CEN = 4 ; NODE = 8 ; QUAD = 16 ; INT = 32 ; INS = 64 ; PER = 128 ; TAN = 256 ; NEAR = 512 ; QUIC = 1024 2. Lispi biraz modifiye etmek istiyorum. Fakat bu lisp elime hazır geldi sadece merakım yapabilen bir arkadaş olabilir mi? Lisp genel olarak önce bir datum belirleyip o datuma verdiğimiz referans kota göre bastığımız yerlere kotlarını yazdırıyor. Benim istediğim ise datumu belirledikten sonra bastığım yerdeki kotu bir başka yere yazması. Teşekkürler.
|
10.10.2015 19:27
ProhibiT |
|
13.10.2015 07:50
halilozcakir |
(defun c:tes(/ yazi elist ent)
(if (null __oncekiyazi__) (setq __oncekiyazi__ "")) (setq ent (entsec "TEXT" (strcat "\nKaynak Yazıyı Seç <" __oncekiyazi__ "> :"))) (setq yazi (if ent (cdr (assoc 1 (entget ent))) __oncekiyazi__)) (if (/= "" yazi) (progn (princ yazi) (setq __oncekiyazi__ yazi) (if (setq ent (entsec "TEXT" "\nHedef Yazıyı Seç :")) (progn (setq elist (entget ent)) (princ (cdr (assoc 1 elist))) (setvar "CMDECHO" 0) (command "undo" "mark") (setq elist (subst (cons 1 yazi) (assoc 1 elist) elist)) (entmod elist) (if (= 35 (getvar "ERRNO")) (princ "\nSeçtiğiniz yazı kilitli tabakada. Değiştirilemiyor.")) (command "undo" "end") (setvar "CMDECHO" 1) ));_if-progn )) (princ) Merhaba yukarıdaki lisipte text kopyalayıp diğerinin içine yapıştırıyor ya işlemi bir kerelik yapıyor yani bir yazıya tıkladığım zaman komut işi bitiriyor çıkıyor. ben tıklamaya devam ettikçe yazsa , esc ile çıkınca tekrar komut kaynaK yazı istese ve tıklamaya devam ettikçe içeriği kopyalamaya devam etse süper olur. bu arada lispi kod içine alayım dedim yandex hata verdi halilozcakir (13.10.2015 08:50 GMT) |
14.10.2015 10:09
zahmeri |
Hayırlı günler arkadaşlar.Aşığıda yazdığım şekilde elimde bir lisp var.Bu lisp bloğun üstüne tıklayınca direkt olarak yeni ism soruyor ve girilen yeni isimle birlikte çizimdeki ilgili bütün blokların ismini değiştiriyor..özellikle proje ofisleri blok isimleri verirken farklı tanımlamalar yapıyor,ama o çizimin keşfi çıkartılırken proje ofisinin yazdığı isimden aratıp o isim hangi armatürdü diye tekrar armatürü bulmak gerekiyor.Fakat bu lisple direk olarak armatür ismini blok ismi yaparak anlam kargaşası ve iş yapma zamanını kısaltabiliyorsunuz..Umarım faydalı olur..
(defun c:rbk (/ blksecimi blkname blknew) ; select block to view name (setq blksecimi (entget(car(entsel "Select block to view NAMES : "))) blkname (cdr(assoc 2 blksecimi)) ) (princ (strcat ">>> " (cdr (assoc 2 blksecimi)) " <<<" )) ; princ block name (setq blknew (getstring t "\nEnter new block name: ")) (command "_.rename" "_block" blkname blknew) (prompt "\nBlock ismi başarıyla değiştirilmiştir...") (princ) )
|
14.10.2015 10:42
alumina |
Alıntı Elinize saglik. Peki cizimde ayni isimde baska blokta varsa ne olacak?
|
zahmeri |
aynı isim varsa hata veriyor.Dolayısıyla aynı ismi iki farklı blok için kullanma şüpheniz ortadan kalkıyor..
|