28.09.2017 06:29    

Myalem
Selam arkadaşlar. Dun konu açmıştım demek istediğimi tam anlatamadım yeni konu açtım. Kusura bakmayın.
Uzun süredir Autolisp yazıyorum. Autolisp ten yana sıkıntım yok ama DCL olayına y6eni başlıyorum. Kitap aldım internetten devamlı araştırıyorum ama açıklayıcı bilgilere ulaşmak çok zor örnek olarak yazdığım lisp aşağıdadır.

( Defun c:deney ( / os1 l1 ly lc sag sol yuka asa crcv1 crcv2 set1 mn1 htext durum n m mod1 parcaismi kuleadi kalinlik p1x p1y p2x p2y p3x p3y p4x p4y p5x p5y p6x p6y p1 p2 p3 p4 p5 p6 karsila1 karsila2 karsila3
karsila4 pn1 pn2 pn3 pn4 pn5 pn6 olc mm1 mm2 mm3 kulesay durum )

( setq os1 ( getvar "osmode" ) l1 ( getvar "cecolor" ) ly ( getvar "clayer" ) lc ( getvar "celtype" ) )
( setq sag 0 sol pi yuka ( / pi 2 ) asa ( / ( * pi 3 ) 2 ) )

( setvar "osmode" 0 )
( setq crcv1 ( getpoint "\nBirinci noktayı işaretleyiniz...? " ) )
( setq crcv2 ( getcorner crcv1 "\nİkinci noktayı işaretleyiniz...? " ) )
( setq set1 ( ssget "w" crcv1 crcv2 ) )
( setq mn1 ( getpoint "\nBir nokta işaretleyiniz...?" ) )

( setq setno 0 )
( repeat ( sslength set1 )
( if ( and ( = ( cdr ( assoc 8 ( entget ( ssname set1 setno ) ) ) ) "Yardimci" ) ( = ( cdr ( assoc 0 ( entget ( ssname set1 setno ) ) ) ) "TEXT" ) ) ( progn
( setq htext ( cdr ( assoc 1 ( entget ( ssname set1 setno ) ) ) ) )
( if ( = "KONI" ( substr htext 1 4 ) ) ( progn
( setq n 0 m 1 mod1 1 )
( repeat ( strlen htext )
( setq n ( + n 1 ) )
( cond
( ( and ( = mod1 1 ) ( = ( substr htext n 1 ) "#" ) ) ( setq parcaismi ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 2 ) ( = ( substr htext n 1 ) "#" ) ) ( setq kuleadi ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 3 ) ( = ( substr htext n 1 ) "#" ) ) ( setq kalinlik ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 4 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p1x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 5 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p1y ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 6 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p2x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 7 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p2y ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 8 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p3x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 9 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p3y ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 10 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p4x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 11 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p4y ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 12 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p5x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 13 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p5y ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 14 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p6x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) ) ) )
( setq p6y ( substr htext m ) ) ) )
( if ( = "KARE" ( substr htext 1 4 ) ) ( progn
( setq n 0 m 1 mod1 1 )
( repeat ( strlen htext )
( setq n ( + n 1 ) )
( cond
( ( and ( = mod1 1 ) ( = ( substr htext n 1 ) "#" ) ) ( setq parcaismi ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 2 ) ( = ( substr htext n 1 ) "#" ) ) ( setq kuleadi ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 3 ) ( = ( substr htext n 1 ) "#" ) ) ( setq kalinlik ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 4 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p1x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 5 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p1y ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 6 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p2x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 7 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p2y ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 8 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p3x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 9 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p3y ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) )
( ( and ( = mod1 10 ) ( = ( substr htext n 1 ) "#" ) ) ( setq p4x ( substr htext m ( - n m ) ) mod1 ( + mod1 1 ) m ( + n 1 ) ) ) ) )
( setq p4y ( substr htext m ) p5x "0" p5y "0" p6x "0" p6y "0" ) ) )
( setq p1 ( list ( atof p1x ) ( atof p1y ) ) p2 ( list ( atof p2x ) ( atof p2y ) ) p3 ( list ( atof p3x ) ( atof p3y ) ) p4 ( list ( atof p4x ) ( atof p4y ) ) )
( setq p5 ( list ( atof p5x ) ( atof p5y ) ) p6 ( list ( atof p6x ) ( atof p6y ) ) )
( setq karsila1 ( abs ( distance p1 p3 ) ) karsila2 ( abs ( distance p4 p6 ) ) karsila3 ( abs ( distance p1 p2 ) ) karsila4 ( abs ( distance p3 p4 ) ) )
( if ( = parcaismi "KONI" ) ( kkoni ) )
( if ( = parcaismi "KARE" ) ( kkare ) ) ) )
( setq setno ( + setno 1 ) ) )
( setvar "osmode" os1 )
( princ )
)
Bu Autolispime DCL eklicem. Bu şekildede çalışıyor ama Dialog olursa müthiş olacak.
Radio_buton kullanacam. Ama ben radio_butonların birini seçtiğim o seçtiğimi autolispte aktif getiremiyom bunu bana açıklayacak biri varsa müteşşekir olacam. Yada Açıklayacak bir kaynak varmı oda olur.

28.09.2017 07:05    

Travaci
Myalem zaten Burada radio butonun nasıl çalıştığını örnekledim sana ve yeterince sade olduğunu düşünüyorum. Baktığına ve incelediğine eminmisin ?

28.09.2017 07:19    

Myalem
Teşekkür ederim örneklemişsin ama çalışmadı. Artı senin gösterdiğin yola yakın başka şeyler denedim oda olmadı.
En son nasıl çalıştığını anlamak adına senin yaptıklarını sadece dcl ve lisp olarak yaptım. Bu seferde too many arguments hatası verdi.

Travaci (28.09.2017 07:41 GMT)

28.09.2017 07:42    

Travaci
Site Slash karakterlerini sildiği için program hata vermiş.
Aşağıdaki gibi kodlarını düzenlersen sorun olmucak.
Onun dışında support file search path kısmına dcl nin bulunduğu klasörü gösterirsen load dialog kısmına dcl adres satırını yazmana gerek yok.

28.09.2017 08:10    

Myalem
Ellerine sağlık. Teşekür ederim. Süper olmuş.

> 1 <
Copyright © 2004-2022 SQL: 1.346 saniye - Sorgu: 57 - Ortalama: 0.02362 saniye