Copyright © 2004-2022 SQL: 2.188 saniye - Sorgu: 99 - Ortalama: 0.0221 saniye
04.10.2019 12:18
Travaci |
Kod: (2 . "ANTET A3,ANTET A1") Pickset e eleman eklemeden kastın seçim setine mi Ne yapmak istiyorsun ? Travaci (04.10.2019 12:31 GMT) |
31.10.2019 09:51
turgaygirgin |
Herkese Merhaba,
DCL Kodu; test : dialog { label = "Deneme" ; :list_box { label = "" ; key = "LAa1" ; width = 10 ; height = 20 ; multiple_select = false ; tabs = "2" ; } :spacer_1 {} ok_only ; :spacer_1 {} } ve LISP Kodu; (defun c:test (/ an dcl_id) (setq dcl_id (load_dialog "test.dcl")) (if (not (new_dialog "test" dcl_id "" cl)) (exit) (progn (setq ListA '("A" "B" "C" "D")) (setq ListB '("a1" "b1" "c1" "d1")) (start_list "LAa1") (mapcar 'add_list (mapcar '(lambda (a b)(strcat a "\t" b)) listA listB)) (end_list) (action_tile "LAa1" "(setq rs1 (nth (atoi $value) ListA) rs2 (nth (atoi $value) ListB))") (action_tile "accept" "(done_dialog)") (setq an (start_dialog)) (unload_dialog dcl_id) ) ;progn ) ;if (princ) ) Kodu çalıştırınca açılan list box kutusunda her satırdaki elemanlar birlikte seçiliyor. Herhangi bir satırdaki bir elemanı seçmenin bir yöntemi varmıdır? Mesela liste de yalnızca "C" seçilmesini istersek ne yapmalıyız. Her liste için bir listbox oluşturarak yaptım.ama listbox lar arasındaki mesafeyi sıfırlayamadım. Aslında yapmak istediğim layer manager da ki özelliğe benzer bi kontrol. 2 den fazla liste ve her listenin elemanlarını editbox ile değiştirebilmek. Böyle birşey mümkünmüdür? Değerli cevaplarınızı bekler, Teşekkür ederim
|
31.10.2019 10:40
Travaci |
|
31.10.2019 10:56
turgaygirgin |
Alıntı Slm Hocam, Goruntüdeki gibi bende yaptım. 1 2 ve 3 listboxları arasında boşluk kalıyor.Listboxlar arasında hiç boşluk olmasın istiyorum.Dcl dosyasında : spacer a pek çok değer verdim ama arada boşluk kalmamasını sağlayamadım. en sonunda yukarıdaki gibi bir lisp buldum.ama bu defa da listbox kutusundaki liste içinden tek bir eleman seçemedim.Mecbur kalırsam , bu şekilde (görüntüdeki gibi ) kullanıcam. Travaci (31.10.2019 12:56 GMT) |
31.10.2019 11:25
Travaci |
Yapılamaz diyemeyeceğim, edit_box için bizim köyün delisi yapmış list_box içinde yapılabiliyor olsa gerek
Linkleri görebilmek için ÜYE olmalısınız.
|
31.10.2019 11:38
mttlp |
Alıntı Herşeyi yapıyor sizin köyün delisi lisp ile Travaci (31.10.2019 12:56 GMT) |
31.10.2019 12:19
turgaygirgin |
Alıntı
|
31.10.2019 12:37
Travaci |
Valla senin yaptığın abuk sabuk birşey oldu : )
Herelde şunu yapmak istedin. Kod: test : dialog {
label = "Deneme" ; : row { : column { spacer; : text { value = "text1"; alignment = centered;} spacer; : list_box { key = "mylist1"; height = 25; width = 6; multiple_select = false; fixed_width_font = true; horizontal_margin = none; } } : column { spacer; : text { value = "text2"; alignment = centered;} spacer; : list_box { key = "mylist2"; height = 25; width = 6; multiple_select = false; fixed_width_font = true; horizontal_margin = none; } } } ok_only ; }
|
31.10.2019 13:10
turgaygirgin |
Alıntı :)))) hocam çok deneme yapıyorum ve aynı zamanda kendi listeme göre de dcl dosyasını düzenlemeye çalışıyorum.O nedenle biraz karışık olmuş olabilir. :)) Ben işin çözüm kısmındayım.düzenlemeyi sonra yaparım diye düşünüyorum.bu listelerin sol tarafında Listelerimdeki sıralamaya göre etiketler gelecek. Yalnızca ok olmayacak. Hesapla, Ok, cancel, help butonları olacak.Hatta yapabilirsem listede yapacağım seçime göre alt tarafta bilgi yazıları gelecek vs.vs. Şimdi sırada listelerimi bu list box lara getirdikten sonra herhangi bir listeden çift veya tek tıklama ile bir eleman seçtiğimde,edit box açılması. edit yaptıktan sonra listenin yeniden yüklenmesi. Çok işim var çoookkk.. :)) Araşırmaya devam.Bulamaz isem yine yardımınızı isterim. teşekkürler Kolay gelsin
|
05.11.2019 08:43
ahmet82 |
Merhabalar :)
Bağzı komutlar lisptekinden farklı çalışıyor tam anlatamadım sanırım şöyle örnekleyeceğim: group komutu: autocad çizim ekranında group yazınca benden direkt olarak objeleri seçmemi istiyor. ama aynı komutu lispte yazınca (command "group") komutun menüsü açılıyor. Çizim ekranında group : obje seçimi -group: menü ekranı _group: menü ekranı Lispte hepsi menü açıyor. Bu gibi sorunları nasıl aşabilirim. Yardımlarınız için teşekkür ederim
|
05.11.2019 08:56
Travaci |
group ve _group zaten aynı komutlar
-group ta ise alt seçenekler gözükür bununda gözükmemesi için komuttan önce (setvar 'cmdecho 0) yazmanız gerekiyor.
|
05.11.2019 09:21
ahmet82 |
Alıntı Hocam maalesef cmdecho işe yaramadı setvarla değeri 1'den 0'a çekiyorum fakat kar etmiyor (command "group")' ta her türlü seçenekleri gösteriyor.
|
05.11.2019 10:31
Travaci |
ahmet82 Bak bakalım ? Kod: (defun c:gr (/ ss)
(if (and (setq ss (ssget)) (> (sslength ss) 1)) (progn (setvar 'cmdecho 0) (command "_.-group" "C" "*" "*" ss "") ) ) (princ) )
|
05.11.2019 10:44
ahmet82 |
Alıntı Hocam oluyor grup yapıyor. Menü çıktığı için tekrar sorun olacak zannettim adı boş geçince yada "*" koyunca ama problem olmuyormuş böyle çok teşekkürler. :)
|
22.11.2019 14:28
turgaygirgin |
Slm,
Bir fonksiyon kullanarak aşağıdaki listeyi elde ediyorum. ((("S" . "1")("A" . "5.0")("H" . "100.0")("W" . "100.0")("F" . "H")) (("S" . "2")("A" . "4.0")("H" . "50.0")("W" . "80.0") ("F" . "H")) (("S" . "3")("A" . "2.0")("H" . "75.0")("W" . "60.0")("F" . "H")) (("S" . "4")("A" . "6.0")("H" . "20.0")("W" . "100.0")("F" . "E")) (("S" . "5")("A" . "8.0")("H" . "50.0")("W" . "120.0")("F" . "H")) ) Bu listeyi test.dat olarak kaydetmek ve daha sonra ihtiyacım olduğunda bu dosyadan bilgileri okuyarak aynı listeyi oluşturmak istiyorum. Nasıl bir yol izlemeliyim.Ne yapmalıyım. Yardımcı olursanız sevinirim.
|
23.11.2019 07:28
turgaygirgin |
(setq L_Liste (length liste))
(setq dosya (open "D:\\MEKANIK\\PROJELER\\test.dat" "w")) (write-line "test dosyası" dosya) (while (< 0 L_Liste) (setq L1 (car liste) liste (cdr liste)) (if (/= (length liste) 0) (progn (princ L1 dosya) (princ "\n" dosya) ) (princ "EOF" dosya) ) (setq L_Liste (length liste)) ) (close dosya) (setq f (open "D:\\MEKANIK\\PROJELER\\test.dat" "r")) (read-line f) (close f) Listeyi bu şekilde dosyaya yazdırdım.Ama okurken ASCII karakter numaraları ile geliyor.
|
03.12.2019 20:05
agaa |
Forumda yeniyim. Autolisp öğrenebilmek için çabalıyorum. Çalıştığım kurumda önceden bir bölüm lispler yazılmış fakat hepsi .vlx olarak kaydedilmiş. Lisp dosyalarını bulamıyorum ve .vlx olan dosyaların içeriğini göremiyorum.
Bir kaç soru sormak isterim yardımcı olursanız çok sevinirim. 1) belirli bir rectangle üzerinde bilgisayarın c'sinde kayıtlı olan blokları (dwg dosyalarını ) otomatik olarak nasıl yerleştirebilirim. Örnek ; 2500mm ye 2500mm olan rectangle içerisine 900mm parçalar halinde bloklar yerleştireceğim geriye kalan kısma 200mmlik blok yerleşecek. 2) saydığımız bu blokları exele aktarmam gerekecek. Not: daha önce şirkette yazılmış bir lispte blok say komutu kullanılarak bloklar sayılıyor ve daha önce hazırlanılmış olan exel listesine exel listesi açıldıktan sonra sağ klik yapılarak yenile diye bir seçenek seçilip blok adetleri belli değerlerle çarpılıp adet çıkarılması sağlanıyor. Yenile dediğinde direkt autocadde saydığı ( blok say komutu ile ) değerleri nasıl exele aktarıyor? Bayağı meşakkatli bir iş gibi geldi yıllardır yaklaşmaya çekindim ama artık bu lisp olayına biryerden girmek lazım. Yardım ederseniz sevinirim. Herkesin emeğine sağlık çok güzel işler başarmışsınız çoğu yorumunuzu okumaya çalıştım. Teşekkürler
|
04.12.2019 05:52
Travaci |
1) Bloğu çağırdıktan sonra array komutunu kullanabilirsin.
2) Sitemizde bununla ilgili bir lisp daha önce paylaşılmış olsa gerek.
|
04.12.2019 06:49
agaa |
Alıntı YANIT İÇİN TEŞEKKÜR EDERİM. FAKAT SANIRIM YANLIŞ ANLATTIM KONUYU. BELİRLİ BİR BÖLGEYE KAYITLI DWGLERDEN BİR KAÇINI YERLEŞTİRMEK İSTİYORUM . BİR RESİM EKLEDİM UMARIM BECEREBİLMİŞİMDİR. RESİMDEKİ PARÇALARIN HER BİRİ AYRI BİR DWGDİR. LISP YARDIMIYLA SEÇECEĞİM RECTANGL A YERLEŞSİN İSTİTORUM. 2)DAHA ÖNCE PAYLASILAN LISPI YONLENDİREBİLİR MİSİSNİZ?
|
agaa |
Yazılmış bir dcl dosyası var. Yüklemek ve çalıştırmak istiyorum ne yapmalıyım. İlla bir lisple ilişkili mı olmalı dcl dosyasının. Yani lisp yükler gibi yükleyebilir miyim AutoCAde.
|