C dilindeki kullanımıyla yazmıştım, mod kullanımı yazıyla oluyormuş haklısınız. Şöyle bir durum var. Yukarıda yazdığınız döngüyü ve başlangıcı anlamadım. Ezbere bir mantıkla devam etmeye çalıştım. O kısmı detaylandırabilir misiniz? İngilizce değişkenler copy + paste bi mantık. Türkçe değişkenler anlayarak yaptığım kısımlar.
Özetle seçim başlatma ve döngü noktasında nasıl bir hata yaptığımı çözmüş değilim.
(defun C:FAZ ()
(setq faz-list '("L1" "L2" "L3")) ;; Faz numaraları için liste oluşturuyoruz.
(setq faz-no (atoi faz-no)) ;; Tam sayı yaptık.
(setq faz (nth (- faz-no 1) faz-list)) ;; Girilen sayıyı listede aratıyoruz, faz'a kaydediyoruz.
(while (setq sel (nentsel "\nSeçin: ")) ;; Kullanıcı attribute nesnesi seçene kadar döngüye giriyoruz.
(setq ent (car sel)) ;; Seçilen nesneyi alıyoruz.
(setq ent-data (entget ent)) ;; Seçilen nesnenin verilerini alıyoruz.
(if (eq (cdr (assoc 0 ent-data)) "ATTRIB") ;; Seçilen nesne eğer attribute ise.
(
progn ;; Attribute ise, faz indeksini artırıyoruz ve yeni faz değerini ayarlıyoruz.
(setq faz-index (mod (+ faz-index 1) 3))
(setq new-value (nth faz-index faz-list))
(setq ent-data (subst (cons 1 new-value) (assoc 1 ent-data) ent-data))
(entmod ent-data)
(entupd ent)
)
(prompt "\nSeçilen nesne bir attribute değil.") ;; Seçilen nesne eğer attribute değil ise.
)
)
(princ) ;; Çıkış
)
Blok içerisinde yer alan TEXT objelerini belirli bir noktaya göre scale etmek istiyorum.
(vla-scaleentity (nth m items) (vlax-3D-point cpoint) scale) komutunu kullanıyorum. Bu işlemden sonra text objesi kayboluyor. Neyi yanlış yapıyorum?
Alıntıerhan195 :
Merhaba.
Blok içerisinde yer alan TEXT objelerini belirli bir noktaya göre scale etmek istiyorum.
(vla-scaleentity (nth m items) (vlax-3D-point cpoint) scale) komutunu kullanıyorum. Bu işlemden sonra text objesi kayboluyor. Neyi yanlış yapıyorum?
Belirli bir noktaya göre demişsiniz. Sanırım burada blok dışında iken model düzleminden koordinat belirlediyseniz hata verir. Blok içi koordinat ile modelspace koordinatı aynı değildir. Referans noktanızı blok içindeki nesneleri referans kabul etmelisiniz.
Öncelikle teşekkür ederim. Dediklerinizde haklısınız. Objenin Center pointini baz alarak uzunluk, genişlik ve açıya bağlı olarak orta noktayı hesaplıyorum. Ölçeklendirmeyi de orta noktaya göre yaptırmaya çalışıyorum. Attribuite başarılı şekilde çalışıyor fakat text objelerinde sorun oluyor. Dediğiniz gibi getpointle bloğun orta noktasını seçtiğimde text objeside başarılı bir şekilde scale oldu.