27.10.2017 07:02    

Myalem
Arkadaşlar selam Autolisp konusunda çok iyiyim ama DCL konusunda çok acemiyim. Son yazdığım Autolisp için bir DCL yapmak istiyorum yardımcı olabilirseniz çok sevinirim.

( Defun c:kaynakformu ( / os1 l1 ly lc sag sol yuka asa set1 sc_ox sc_oy pr_nu pr_cn pr_kt pr_on pr_tr 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
ol_kar karsila1 karsila2 karsila3 karsila4 pn1 pn2 pn3 pn4 pn5 pn6 olc mm1 mm2 mm3 kulesayx kulesayy kuleharf durum j1 j2 j3 j4 j5 j6 j7 j8 j9 j10 j11 j12 j13 j14 j15 j16 j17 j18 j19 j20 j21 j22 j23 j24 j25
j26 j27 j28 j29 j30 j31 j32 jt1 jt2 jt3 jt4 b1 c1 d1 na_1 nk_1 nk_2 nk_3 nk_4 nk_5 nk_6 nk_7 ac_1 ac_2 ac_3 nt_1 e_ol f_ol d_ol c_ol a_ol b_ol ka1 ka2 ka3 ka4 ka8 ka7 ka11 ka5 ka6 ka9 ka10 ka12 ka13 ka14 ka15
ktx1 ktx2 ktx3 la1 la2 la3 la4 la8 la5 la9 la6 la10 la7 la11 la12 la13 la14 la15 v1 v2 v3 v4 v5 v6 v7 v8 ktx4 ktx5 ktx6 ktx7 ktx8 ktx9 ktx10 ktx11 ktx12 tp_tx an1 an2 an3 ab1 ab2 ab3 ab4 ab5 ab6 ab7 z1 z2 z3
z4 z5 z6 z7 z8 z9 z10 z11 z12 z13 z14 z15 z16 z17 z18 z19 z20 z21 z22 z23 z24 z25 z26 zt1 zt2 zt3 zt4 zt5 zt6 zt7 zt8 zt9 zt10 zt11 zt12 zt13 zt14 zt15 zt16 zt17 zt18 zt19 zt20 zt21 zt22 zt23 zt24 zt25 zt26 zt27
zt28 zt29 zt30 zt31 zt32 zt33 zt34 zt35 zt36 zt37 zt38 zt39 zt40 zt41 zt42 zt43 zt44 zt45 zt46 zt47 )

( 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 ) )

( setq sc_ox 25000.0 sc_oy 15000.0 )
( setq pr_nu ( strcase ( getstring t "\nProje Kısa Kodu nedir.......? " ) ) )
( setq pr_cn ( strcase ( getstring t "\nÇizen Kişinin Adı...........? " ) ) )
( setq pr_kt ( strcase ( getstring t "\nKontrol Eden Kişinin Adı....? " ) ) )
( setq pr_on ( strcase ( getstring t "\nOnaylayan Kişinin Adı.......? " ) ) )
( setq pr_tr ( strcase ( getstring t "\nTarihi giriniz..............? " ) ) )
( setvar "osmode" 0 )
( princ "\nDataları seçiniz...? " )
( setq set1 ( ssget ) )
( 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 ) )
( 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 ) )
p5 ( list ( atof p5x ) ( atof p5y ) ) p6 ( list ( atof p6x ) ( atof p6y ) ) )
( if ( < ( abs ( distance p1 p3 ) ) ( abs ( distance p4 p6 ) ) ) ( setq ol_kar ( abs ( distance p4 p6 ) ) ) ( setq ol_kar ( abs ( distance p1 p3 ) ) ) )
( setq karsila1 ( abs ( distance p1 p3 ) ) karsila2 ( abs ( distance p4 p6 ) ) ) ) )
( 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 ) )
( 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 ol_kar ( abs ( distance p1 p2 ) ) ) ) )
( if ( = parcaismi "KONI" ) ( progn
( if ( < 33.0 ( / ol_kar 270.0 ) ) ( setq olc ( / ol_kar 270.0 ) ) ( setq olc 33.0 ) )
( kkoni )
( kaynakbolge )
( kaynakanted )
( anaanted ) ) )
( if ( = parcaismi "KARE" ) ( progn
( if ( < 33.0 ( / ol_kar 270.0 ) ) ( setq olc ( / ol_kar 270.0 ) ) ( setq olc 33.0 ) )
( kkare )
( kaynakbolge )
( kaynakanted )
( anaanted ) ) ) ) )
( setq setno ( + setno 1 ) ) )

( setvar "osmode" os1 )
( princ )
)

Yukarda girişleri DCL modunda yapmak istiyorum.
PROJE ADI:
ÇİZEN:
KONTROL:
ONAY:
TARİH:
Birde yan tarafa bir checkbox kutusu işaretlediğimde ( SAĞ TARFAFA KAYNAK ÇEŞİTLERİNİ YAPICAM) sağ tarafı görsün. işaretlemediğimde görmesin. İşaretli iken hangi değer işaretli değilken hangi değer alıyor onu bilsem yeter. Yardımlarınız için teşekkür ederim.

27.10.2017 08:34    

ehya
Yazılmış bir lisp'e dcl yapmak çok zahmetli bir iştir.
Dcl ile ilgili bölümleri yazmak da zaten ayrı bir eğitim gerekir.

Dcl dosyasını oluşturma,
Oluşturulan dcl'deki bölümleri lisp dosyasında tanımlama,
Kontrol mekanizmalarını yazma.. v.s.

Tavsiyem, öncelikle Dcl konusunu öğrenin. Daha sonra yeni kurgunuzu yapıp lispinizi yeniden yazın...

27.10.2017 08:39    

Myalem
Bu yazdığım lisp tam 17 sayfa tekrardan yazmak ölüm. En iyisi bu şekilde kullanmaya devam edeyim. Teşekkürler.

> 1 <
Copyright © 2004-2022 SQL: 1.102 saniye - Sorgu: 47 - Ortalama: 0.02345 saniye