Copyright © 2004-2022 SQL: 2.046 saniye - Sorgu: 99 - Ortalama: 0.02067 saniye
15.08.2018 10:00
turgaygirgin |
Slm,
Bir çizim dosyam var, içinde de muhtelif layer larım var. başlangıç ta bunların birkaç tanesi freeze edilmiş, bir kaç tanesi kilitli birkaç tanesi off durumunda. autolisp ile (command "_.layer" "_off" "*" "_no" "") (command "_.layer" "_on" "layer1,layer2,layer3" "") dedim işlemlerimi yaptırdım. fonksiyonumu bitirirken layer larımın başlangıçtaki ayarlara dönmesini nasıl sağlayabilirim. böle bişey mümkünmüdür? teşekkür ederim.
|
16.08.2018 12:16
alumina |
Alıntı Kod: (defun c:ly (/ k z)
(defun m1 (p1 p2 /) (entmod (subst (cons p1 p2) (assoc p1 en) en))) (setq k (tblnext "layer" t)) (while k (setq z (cons (list (cdr (assoc 2 k)) (cdr (assoc 62 k)) (cdr (assoc 70 k))) z) k (tblnext "layer"))) . . . . . . (mapcar '(lambda(a) (setq en (entget (tblobjname "layer" (car a)))) (m1 62 (cadr a)) (m1 70 (caddr a))) z) (prin1) )
|
30.08.2018 10:45
turgaygirgin |
Alıntı Hocam çok saolun teşekkür ederim. Problemi layerisolate ve unisolate ile çözdüm. yalnız bu kodu da mutlaka değerlendireceğim. yalnız merak ettim, ben daha önce ana fonksiyon içinde subfonksiyon yazın ca hata vermişti. Siz burada ly fonksiyonu içinde m1 fonksiyonu tanımlamışsınız. Program içine ekleme yapmadan test ettiğimde. herhangi bir hata mesajı almadım. subfonksiyonları ana fonksiyonun içinde de tanımlayabiliyormuyduk ? Birde, hernekadar istemesem de fonksiyonlarımın içinde command lar kullanıyorum. Hatch yapmakla ilgili bir problemim var.Yardımcı olursanız sevinirim. (command "-boundary" ent "") (setq ss (entlast)) (setq bonokta (bo-Pts ss)) ; bo-pts sub fonksiyon,lwpolyline nın kırık noktalarının koordinatlarını listeliyor. (setq mahblk (ssget "_cp" bonokta '((0 . "insert") (-4 . "<or") (8 . "A-Tefriş ISLAK") (8 . "A-Tefriş ODA") (-4 . "or>")))) ile de boundry içindeki objeleri de seçtirdim. ve Hatch yapmak istiyorum. Mehmet Şahin Hocamızın kitabında bu konu ile ilgili bir bilgi bulamadım. İnternette de turkçe kaynak bulmak zor. en sonun da şöyle bir komut buldum; (command ".hatch" "u" 90 0.05 "" "all" "") 90 açı, 0.05 hatch ölçeği ( all ) bütün objeler olmalı . fakat u nedir. hatch sitili yok. visual lisp ile ilgili daha çok bilgi var.Ama bende de visuallisp bilgisi yok. (setq Hatch (vla-AddHatch *ModelSpace* acHatchPatternTypePreDefined "ANSI31" :vlax-True)) burada hatch tanımlanıyor pattern predefined model space de olacağı falan. (vlax-invoke hatch 'AppendOuterLoop (list pline)) burada da hatch sınırları belirleniyor. (vla-evaluate hatch) ve hatch uygulanıyor. visual lisp kullanarak bu şekilde yaptırırsak sınır içindeki objeleri görmezden gelerek tarayacak. Siz veya Diğer Hocalarımız yardımcı olursa sevinirim. Sınır Koordinatları belli ( bonokta ) İçindeki objeler seçili ( mahblk ) Hatch yapmak istiyorum.Ne yapmalıyım. Teşekkürler.Saygılar.
|
30.08.2018 11:35
alumina |
Alıntı m1 fonksiyonu ana fonksiyonun icinde veya disinda tanimlanabilir. Hatch ornekleride asagidadir. Ilk ornekte hatch nesneleri toplu olarak create edilir ve herhangi bir hatch nesnesi secildiginde hepsi birden secilir. Ikınci ornekte hatch nesneleri ayri ayri create edilir. Belirtilen koordinatlar icinde kalan nesnelere hatch uygulanir. "_WP" yerine "_CP" olarak secim yapilirsa koordinatlara temas eden nesnelerede hatch uygulanir. Kod: (defun c:h1 (/ ss)
(if (setq ss (ssget "_WP" '((1000 1000) (2000 1000) (2000 2000) (1000 2000)))) (progn (setvar 'cmdecho 0) (acet-undo-begin) (command "._hatch" "ANSI31" "0.5" "0" ss "") (acet-undo-end) (setvar 'cmdecho 1)) ) (prin1) ) (defun c:h2 (/ ss z) (if (setq ss (ssget "_WP" '((1000 1000) (2000 1000) (2000 2000) (1000 2000)))) (progn (setvar 'cmdecho 0) (acet-undo-begin) (repeat (setq z (sslength ss)) (command "._hatch" "ANSI31" "0.5" "0" (ssname ss (setq z (1- z))) "")) (acet-undo-end) (setvar 'cmdecho 1)) ) (prin1) )
|
31.08.2018 12:36
Travaci |
turgaygirgin Komut için "._-hatch" komutunu kullanıp alt fonksiyonlardan "Select" için alt fonksiyonları Window/Last/Crossing/BOX/ALL/Fence/WPolygon/CPolygon/Group/Add/Remove/Multiple/Previous/Undo/AUto/SIngle/SUbobject/Object kullanabilirsin. alumina Tek nesne için undo kullanımı gereksiz, command kullandığımızda autocad undoyu kendi koyuyor.
|
31.08.2018 12:53
tempuser |
Herkeze merhaba,
Bir yazı içindeki "X" leri "x" e "-" leri "@" e "B" leri de "L" e nasıl çeviririz. Birde neden sürekli logout oluyor kendi kendine ? tempuser (31.08.2018 13:12 GMT) |
31.08.2018 19:16
alumina |
Alıntı "Find" komutu... Tek tek cevirir ama cevirir.
|
31.08.2018 21:01
tempuser |
Hocam lisp yazabilirmisiniz.
|
01.09.2018 01:39
alumina |
Alıntı Kod: (defun c:ts (/ ss m n s)
(if (setq ss (ssget '((0 . "text") (1 . "*X*,*-*,*B*")))) (progn (acet-undo-begin) (repeat (setq m (sslength ss)) (setq m (1- m) n (entget (ssname ss m)) s (assoc 1 n)) (entmod (subst (cons 1 (vl-string-translate "X-B" "x@L" (cdr s))) s n))) (acet-undo-end) ) ) (prin1) )
|
03.09.2018 22:01
turgaygirgin |
Selamlar,
Dcl ile ilgili bir sorunum var yardımcı olabilirmisiniz lütfen. test1 : dialog { label = "test1"; : row { : column { : popup_list { key = "lst1"; label = ""; edit_width = 20; fixed_width_font = false; }//list 1 : popup_list { key = "lst2"; label = ""; edit_width = 20; fixed_width_font = false; }//list 2 : popup_list { key = "lst3"; label = ""; edit_width = 20; fixed_width_font = false; }//list 3 : row { : button { key = "bt1"; label = "<<Prev"; is_default = false; width = 8; height = 1; }//prv buton : button { key = "bt2"; label = "Next>>"; is_default = false; width = 8; height = 1; }//nxt buton }//prv nxt buton row : row { : button { key = "accept"; label = " Okay "; is_default = true; width = 8; height = 1; }//ok buton : button { key = "cancel"; label = " Cancel "; is_default = false; is_cancel = true; width = 8; height = 1; }//cancel buton }//Ok_Cancel buton row }//List buton column :column { :image_button { key = "slide1"; color = -2; width = 20; aspect_ratio = 0.5; alignment = left; height = 4; } //image buton1 }//image buton1 column :column { :image_button { key = "slide2"; color = -2; width = 20; aspect_ratio = 0.5; alignment = left; height = 4; } //image buton2 }//image buton1 column :column { :image_button { key = "slide3"; color = -2; width = 20; aspect_ratio = 0.5; alignment = left; height = 4; } //image buton3 }//image buton1 column ..... ..... ..... }//Ana Row }//Dialog DCL dosyam bu şekilde.lisp kodlarını da yazıp test ettim. Ekran görüntüsü Nasıl eklenir bilmediğim için (Anlatırsanız Onuda yapmaya çalışırım.) anlatmaya çalışacağım. 3 adet popup listenın altında 4.satırda prev ve Next butonları ,5.satırda ok ve cancel butonları var. bu butonların sağ tarafında da toplamda 10 adet olacak ama 3 adet image buton kodu yazdım,(kalabalık olmasın diye). sorunum şu: * butonlarımın toplam genişliği image butonlarla aynı olsun istiyorum,popup listlerin genişliğini ayarladım.ama altında bulunan 4 adet butonun genişliğini pek çok şey denememe rağmen ayarlayamadım. ** Standart bir genişiliği mi var.Sistem değişkenleri ile mi alakalıdır, nedir? *** width leri edit_width , yaptım olmadı. Boxed_column içine aldım olmadı. **** Prev ve Next butonlarını koydum ama açıkçası onları da nasıl kullanacağım bilmiyorum. Dcl dosyasında slide sayısı kadar image button column mu açmalıyım. yoksa lisp içinde ayrı listeler mi oluşturmalıyım? Yardımlarınız için şimdiden çook ama çok teşekür ederim.
|
04.09.2018 06:14
Travaci |
Ok_cancel standartdır. Aşağıdaki gibi butonlarını kendin yapmalısın.
Linkleri görebilmek için ÜYE olmalısınız.
|
04.09.2018 11:04
turgaygirgin |
Alıntı Saolun Hocam.Biraz düzenledim.dcl Label kısmındaki yazı karakterinin uzunluğuna da bağlı olarak butonun boyutu değişiyor. Tam da benim istediğim gibi diyemesemde makul bir görünüme kavuşturdum. Şimdi lisp içinde actionları düzenlemeye başlayabilirim. Biraz baktım ama şuana kadar elle tutulur bir bilgi göremedim. Dcl açılınca 10 adet image buton görünecek. ama benim 25 image m var. açılan iletişim kutusunda next ve previous butonları ile bunları nasıl kontrol edebilirim. Yardımcı olabilirmisiniz? Teşekkür Ederim
|
04.09.2018 13:29
Travaci |
Yapamadığın kısım neyki ? Bu zamana kadar yaptığın işlemleri sadece tekrarlayacaksın.
|
04.09.2018 15:06
turgaygirgin |
Alıntı Slm, Hocam hazırladığım dcl de sol tarafta butonlarım sağ tarafında da 10 adet image karom olacak. bende 25 tane slide dosyası var. başlangıçta ilk 10 slide ile bu karoları fill imaje ile doldurdum. next butonuna tıklayınca sonraki 10 slide ekrana gelecek.tekrar nexte tıklayınca diğer 5 slide ile karoları dolduracak.previous butonuna tıklayınca .önceki 10 slide ekrana gelecek. yapamadığım kısım bu. Teşekkürler Saygılar
|
10.09.2018 12:58
turgaygirgin |
Alıntı Hocam tamamdır.sorunu çözdüm ama şimdide şöyle bir sorun oldu. previous ve next button larını aktif ve deaktif edemiyorum. Başlangıcta ilk slide 0 index numaralı.Previous butonunu seçersem ; error: bad argument value: non-negative: -10 hatası veriyor. Yani benim başlangıçta previous butonunu seçilemez yapmam gerekiyor. (mode_tile "prv" 1) yaptım , olmadı.Başka bir yöntemi mi var.Siz söyleyebilirmisiniz.Veya bilen bir arkadaş yardımcı olabilirmi ? Teşekkür ederim. Saygılar
|
12.09.2018 17:27
Travaci |
Turgay programını kuculterek (Ör; 10 karo deılde 1 , dialog ekranı kapandıktan sonra yapılcak işleri silip) paylasırsan yardımcı oluruz, bu sekılde sorduğun sorular herzaman havada kalıcak cevap alamıyacaksın. Söylediğin hatalar standart bırsey deıl, heryerde bu hatalarla karşılaşıyoruz. Oyüzden sende bıze yardımcı ol. Vlide editorunu kullanmıyorsan kullan bızden once o sana yardımcı olucak hataları gosterıcektır.
|
14.09.2018 08:09
turgaygirgin |
Alıntı Anladım hocam tamam. uyarılarınızı dikkate alacağım.lisp yazarken Vlide editörünü kullanıyorum.bu arada sorunu hallettim. Teşekkür Ederim.
|
29.09.2019 11:09
BLack|E |
Herkese merhaba,
aşağıdaki kod'u yazmaya çalıştım ama başaramadım. amacım text ya da Mtext ile oluşturulmuş İçinde mm olarak yazan rakam var örneğin 275.75 ben bu yazıyı seçip dışarıya tıkladığımda içeriği architectural - mimarı (feet ve kesir biçimli inch olarak çevirmiş text dosyası oluşturmak istiyorum. Acaba nerede hata yapıyorum yardımcı olabilirseniz sevinirim. Kod: (defun c:yi ()
(setq sec (entsel "\nYaziyi Seciniz..:")) (setq dxff (entget (car sec))) (setq ici (cdr (assoc 1 dxff))) (setq yazi_i (distof ici 4)) (setq nk (getpoint "\nYazinin olusmasi icin Tiklayin...")) (command "_.Text" nk "" "" yazi_i "" "") (princ))
|
29.09.2019 12:28
alumina |
Alıntı 275.75mm architectural sistemde 0' - 10 6/7" veya sadece 10 6/7" olarak gosterilir. 1 inch = 25.4mm 1 feet = 12 inch Elde ettiginiz 275.75 degerini architectural sisteme donusturup oyle yazdirin.
|
BLack|E |
Hocam aşağıdaki kod'u düzeltince sonuca ulaştım.. Text'en aldığım değeri 25,4'e böldürmem gerekmiş.
Kod: (setq yazi_in (rtos (/ yazi_mm 25.4) 4 4)) Teşekkür ederim.
|