Copyright © 2004-2022 SQL: 0.961 saniye - Sorgu: 75 - Ortalama: 0.01282 saniye
15.03.2019 08:16
ehya |
AAttribute nesnesi de sonuçta bir blok nesnesidir. Blok nesneleri 0 (sıfır) layerında hazırlanmamış ise layer değişikliğinden etkilenmez.
BEDIT komutunu çalıştırın. Ekrana gelen tablodan kullanılan blok nesnesini seçin. Tüm nesneleri CTRL+A ile seçip layer'ını 0 olarak değiştirin. Renk seçeneğini de Bylayer yapın. Blokeditor'u kapatın. Ayrıca, "Zor değilmiş" demeyeydiniz daha iyi olurdu.
|
15.03.2019 08:45
erhankomur |
Zor değilmiş derken metraj lispi için demedim onu yıllarca uğraşsam yapamazdım herhalde onla ilgili bilgim yok.
Sizin yaptığınız lisp üzerinden değişiklik yapması zor değilmiş demek istedim .Yoksa emeğinize bir saygısızlık yapmam istemem. İstemeden de olsa yanlış bir şey söylediysem özür dilerim. Sayenizde günlerce uğraşacağım işi saatler içerisinde bitirebileceğim. Emeğiniz ve uğraşınız için çok teşekkür ederim.
|
11.07.2020 12:04
duranahmetkeskin |
Üstad merhaba,
Aşağıdaki kod mtext için çalışmıyor kod eklemesi ile deneme yaptım ama yine olmadı. Sizden ricam tekrar bakabilir misiniz. Alıntı ehya (14.07.2020 10:39 GMT) |
14.07.2020 10:40
ehya |
Aşağıdaki kod Att, Text ve Mtext olarak seçim yapmaktadır.
Kod: (defun att-oku (nesne)
(setq att (vlax-invoke (vlax-ename->vla-object nesne) 'getattributes)) (foreach aa att (cond ((eq (vla-get-TagString aa) "DAD") (setq dad (vlax-get-property aa 'TextString))) ((eq (vla-get-TagString aa) "CAP") (setq cap (vlax-get-property aa 'TextString))) ((eq (vla-get-TagString aa) "ARA") (setq ara (vlax-get-property aa 'TextString))) ((eq (vla-get-TagString aa) "BOY1") (setq boy1 (vlax-get-property aa 'TextString)))) ) (setq pp (strcat dad " " cap "/" ara " L=" boy1)) ) (defun c:metraj () (if (setq ss (ssget '((-4 . "<OR") (0 . "*TEXT") (-4 . "<AND") (0 . "INSERT") (66 . 1) (-4 . "AND>") (-4 . "OR>")))) (progn (command "layer" "new" "metraj_layer" "c" "3" "metraj_layer" "") (setq exel (open (strcat (getvar "dwgprefix") (vl-filename-base (getvar "dwgname")) ".xls") "a")) (setq c 0 say (sslength ss)) (while (< c say) (setq tek (ssname ss c) tur (cdr (assoc 0 (entget tek)))) (if (or (= tur "TEXT") (= tur "MTEXT")) (progn (setq ic (cdr (assoc 1 (entget tek)))) (write-line ic exel))) (if (= tur "INSERT") (progn (att-oku tek) (write-line pp exel))) (vla-put-layer (vlax-ename->vla-object tek) "metraj_layer") (vla-put-color (vlax-ename->vla-object tek) acgreen) (setq c (1+ c))) (close exel) ) ) (princ))
|
06.07.2021 16:10
erhankomur |
Hocam ekte eklediğim dosya üzerinde lisp aşağıdaki hatayı veriyor. Yardımcı olursanız çok sevinirim.
Command: METRAJ Select objects: 1 found Select objects: layer Current layer: "0" Enter an option [?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/TRansparency/MATerial/Plot/Freeze/Thaw/LOck/Unlock/stAte/Description/rEconcile]: new Enter name list for new layer(s): metraj_layer Enter an option [?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/TRansparency/MATerial/Plot/Freeze/Thaw/LOck/Unlock/stAte/Description/rEconcile]: c New color [Truecolor/COlorbook] : 3 Enter name list of layer(s) for color 3 (green) <0>: metraj_layer Enter an option [?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/TRansparency/MATerial/Plot/Freeze/Thaw/LOck/Unlock/stAte/Description/rEconcile]: Command: ; error: bad argument type: stringp nil 410456-ornek-metraj.dwg
|
06.07.2021 16:20
ehya |
erhankomur
Hata vermesinin neden, lispte kullanılan Attribute TAG isimleri ile sizin kullandığınız TAG lar aynı değil. Aynı hale çevirin yada lispteki tag isimlerini değiştirin.
|
06.07.2021 18:50
erhankomur |
tavsiyeniz üzerine biraz deneme yanılma ile yapabildim çok teşekkür ederim
|
22.06.2023 08:24
klcdgny |
hocam bi lispe çok uğraşmama rağmen poz numarasını tanımlatamadım yardımcı olabilir misin ?
|
27.07.2023 08:00
umittaser |
arkadaşlar selam. Elimdeki projede attribute yazıları bloğun rotate edilmesiyle beraber dönmüş durumda. bu yazıların tamamını nasıl tek seferde rotation değerini 0 yapabilirim? blok isimleride farklı ne yazıkkı :( bir yardımcı olun lütfen kafayı yiyeceğim :) birde şu şakilde bir lisp buldum ama herseferinde appload etmem gerekiyor ve tek obje seçtiriyor. bu modifiye edilse bile olur. çoklu seçim olması yeter :)
defun c:att0 () (princ "\nRotate All Attributes to 0 Degrees *NEW* ") (setq ar nil ar0 nil ar1 nil ar0 (car (setq ar (entsel))) ) (while (/= ar0 nil) (setq ar1 (entget ar0)) (if (= (cdr (assoc 0 ar1)) "ATTRIB") (progn (setq ar1 (subst (cons 50 0) (assoc 50 ar1) ar1)) (entmod ar1) ) ) (setq ar01 nil ar01 (entnext ar0) ar0 nil ar1 nil ar0 ar01 ) ) (command "regen") (princ) )
|
baha07 |
Alıntı bu isini gormuyor mu ? https://cizimokulu.com/forums.php?m=posts&p=65970#65970
|