Copyright © 2004-2022 SQL: 0.918 saniye - Sorgu: 69 - Ortalama: 0.0133 saniye
22.05.2024 10:19
![]() ![]() |
- da autolisp te (% ... 3) böyle bir komut yok nereden görüp bu şekilde yazdınız ?
bu kısmı yukarıda anlattığım gibi düzenlemeniz gerekiyor.
|
22.05.2024 12:44
![]() ![]() |
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. (initget "1 2 3") ;; initget kullanarak seçimi sınırlandırıyoruz. (setq faz-no (getkword "\nFaz Numarası Girin: [1/2/3]:")) (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ış )
|
22.05.2024 13:01
![]() ![]() |
Siz aşağıdakine bakın anlamazsanız sorarsınız.
Kod: (defun C:FAZ ()
(setq faz-list '("L1" "L2" "L3")) ;; Faz numaraları için liste oluşturuyoruz. (initget "1 2 3") ;; initget kullanarak seçimi sınırlandırıyoruz. (setq faz-no (getkword "\nFaz Numarası Girin: [1/2/3]:")) (setq faz-no (atoi faz-no)) ;; Tam sayı yaptık. (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 (nth (- faz-no 1) faz-list)) ;; Girilen sayıyı listede aratıyoruz, faz'a kaydediyoruz. (setq ent-data (subst (cons 1 faz) (assoc 1 ent-data) ent-data)) (entmod ent-data) (entupd ent) (setq faz-no (1+ faz-no)) ;; liste sırasını bi sonrakine taşıyoruz (if (= faz-no 4) (setq faz-no 1)) ;; liste sonuna geldiysek başa dönüyoruz. ) (prompt "\nSeçilen nesne bir attribute değil.") ;; Seçilen nesne eğer attribute değil ise. ) ) (princ) ;; Çıkış )
![]() |
23.05.2024 05:34
![]() ![]() |
Çok teşekkürler sağolun. Anladım şimdi
|
30.10.2024 17:48
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?
|
31.10.2024 06:33
![]() ![]() |
Alıntı 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.
![]() |
31.10.2024 17:56
erhan195 ![]() |
Ö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.
![]() |
BLack|E ![]() |
Merhaba, Bir sorum olacaktı.
Herhangi bir ölçülendirmenin değerine ulaşmaya çalışıyorum. Bu ölçülendirmenin "Unit Format" değeri "Decimal"de olabilir, "Archhitectural" da. Tabiki malum "Precision" değeri de sonucu etkilemektedir. Bu da sonucu değiştirmektedir. Özellikle kesirli ifadelerde. 8 7/8" ölçülendirme değerini çektiğimde aldığım sonuç bu "(42 . 8.88155)" 8.88155 değerini 8 7/8" olarak görmem için arka plandaki işleyişe hakim olmam gerek. Bunun için "Dimstyle name" bulup "Unit Format" erişmem , "Precision" erişmem vs. gerek, hepsi bir yana bu yöntemin tehlikeli bir tarafı var , bu değerlerin properties ile değiştirilme ihtimalide var. Ne yapmam gerekiyor, nasıl bir yol izlememi tavsiye edersiniz, yardımlarınız için şimdiden teşekkürler.
|