14 Nisan 2009 Salı

seçilen nesnenin z sini 0 yapan lisp

(defun sayac (gc_num gc_max)
(prompt
(strcat "\r%"
(rtos(*(/(float(1+ gc_num))(float gc_max))100)2 0)

) ;strcat
) ;prompt
) ;defun

(defun c:sif ()
(princ "\nSıfırlanacak Objeleri Seçiniz :")
(setq obje (ssget))
; (setq obje (ssget "x" '((0 . "LINE"))))
(setq n (sslength obje))
(setq i 0)
(princ "\nİşlem yapıyorum, lütfen bekleyiniz...\n")
(repeat n
(setq ename (ssname obje i))
(setq elist (entget ename))
(setq bas (cdr (assoc 10 elist))
son (cdr (assoc 11 elist))
basx (car bas)
basy (cadr bas)
sonx (car son)
sony (cadr son)
)
(setq bas (list basx basy 0.0) son (list sonx sony 0.0))
(setq elist (subst (cons 10 bas) (assoc 10 elist) elist))
(setq elist (subst (cons 11 son) (assoc 11 elist) elist))

(entmod elist)
(setq i (+ i 1))
(sayac i n)
);repeat
(princ (strcat "\n" (itoa i) " objenin Z'leri sıfırlandı."))
(princ)
);defun
(grtext -1 "İYİ ÇALIŞMALAR !!")

11 Nisan 2009 Cumartesi

A) ALAN HESABI (Kapalı Bir Alanın Hesabı)

10 PRINT “ALAN”

20 INPUT “N=”;P;”EKSENE MESAFE 1=”;A;”NOKTA KOTU1=”;B

30 N=A:M=B:T=0

40 FOR I= 2 TO P

50 PRINT .EKSENE MESAFE ”;I;”=”;:INPUT E

60 PRINT .NOKTA KOTU ”;I;

70 T=(B-F) * (A+E)+T:B=F:A=E

80 NEXT I

90 T=(B-M)*(A+N)+T

100 PRINT “ALAN =”;ROUND((T/2),-3);”m2”

B)KESİŞME PROGRAMI (Şevin Arazi ile kesiştiği Nokta)

10 PRINT “KESİŞME”

20 INPUT “EKSENE MESAFE 1=”;A;”NOKTA KOTU 1=”;B

22 INPUT “EKSENE MESAFE 2=”;C;”NOKTA KOTU 2=”

30 INPUT “EKSENE MESAFE 3=”;E;”NOKTA KOTU 3=”;F;”GABARİ EĞM(m)”;M

40 N=(D-B)/(C-A)

50 L=(N*A-M*E+F-B)/(N-M)

60 H=B+N*(L-A)

70 SET F2:PRINT “EKSENE MESAFE 4=”;L;”NOKTA KOTU 4=”;H;

80 SE F4:PRINT “T.Z.EĞİMİ=”;N

90 GOTO 20

C) TAKEOMETRE PROGRAMI(Bakılan Noktanın Kot ve Mesafesi)

10 PRINT “TAKEOMETRE PROGRAMI”

20 MODE 6

30 INPUT “NOKTA KOTU=”;J;”ALET YÜK.=”;Q

40 K=J+Q

50 INPUT “ALT KIL=”;A;”ORTA KIL=”;B;”ORTA KIL=”;C

60 D=ABS(2*B-C-A)

70 INPUT “DÜŞEY AÇI=”;Z

80 E=C-A:S=E*(SIN Z)*(SIN Z)

90 SET F2

100 H=E/2*SIN(2*Z)-B/100+K

110 PRINT “MESAFE=”;S;”MT”;” “;”NOKTA KOTU=”;H

120 GOTO 50



D)YATAY KURB HESABI (Kurb Elemanları Hesabı)

10 PRINT “ YATAY KURB HESABI”

20 INPUT “SAPMA AÇISI =”;A;”YARIÇAP=”;B;”To KM= “;C

30 D=A*(PI)*B/200:T=B*TAN(A/2)

40 K=B*((1/(COS(A/2))-1):M=C+D

50 SET F2

60 PRINT “T=”;T;” D=”;” BIS=”;K;” TF KM=”;M

70 GOTO 20

E)DÜŞEY KURB HESABI(Kot Hesabı)

5 PRINT “DÜŞEY KURB”

6 INPUT “1.KM=”;K1;”TEPE KM=”;B;”2.KM=”;K3

30 INPUT “TEPE KOTU =”;A;”L=”;C

40 INPUT “M1=”;U;”M2=”;O

50 T=A-U*C/2:R=A-C/2

60 E=B-C/2:F=B+C/2

70 PRINT “T1 KM=”;E

80 PRINT “T2 KM=”;F

90 INPUT “KM=”;S

100 N=S-E

105 G=U-O

110 H=U*N-G/(2*C)*N^2

120 K=T+H

121 IF S

122 IF S>F;K=A+(S-B)*O

140 PRINT “KOT=”;K

150 GOTO 90

F)SEMT AÇISI (Semt-Kenar Uzunluğu Hesabı)

10 PRINT “SEMT-KENAR HESABI”:MODE 6

15 PRINT “DURULAN NOKTA”

20 INPUT “Y=”;A;”XD=”;B

22 PRINT”BAKILAN NOKTA”

25 INPUT “YB=”;C;”XB=”

30 E=C-A:F=D-B

40 M=E/F:K=SQR(E^2+F^2):M= ATN M

50 IF F<0>0 THEN 100

70 IF E<0 m="M+200:GOTO" m="M+400" m="M" semt="”;ROUND(M,-5);”KENAR=" ilkx="”;B;”ilkY=" semt="”;U" isi="”;Z;”KENAR=" u="U+Z" y="SIN" x="COS" a="A+Y:B=" x="”;B;”" y="”;A" si="”;B;”Bakılan" i="”;A" si="”;”Durulan" i="”;C" y="C-D" x="C-A" k="Y/X" z=" ATN" z="200" z="400+ATN" semt="”;Z" i="”;E" mesafe="”;S" f="Z+E" f="F-400">200 THEN 200

170 Q=F+200

180 M=S*SIN Q

190 N=S*COS Q

200 W=F-200

210 M=S*SIN W

220 N=S*COS W

225 SET F4

230 PRINT “C NOKTASININ Y=”;M+D

240 PRINT “C NOKTASININ X=”;N+C

250 GOTO 120

CASIO FX-3600-3800 İle Topografya Programları



_ İŞARETLERİ TUŞLARI BİRİBİRİNDEN AYIRMAK İÇİNDİR.

A) CROSS (ALAN HESABI)

yazım

MODE _0_ P1_ INV_ PCL_ MODE_ 7_ 3_ ENT_KİN_3_ENT_KİN_4_X_KOUT_1_

-_KOUT_3_X_KOUT_2_=_÷_2_INV_M-_KOUT_3_KİN_1_KOUT_4_KİN_2_INV_

RTN_MODE_.

Casio 3600 Pv 'de CROSS İÇİN AŞAĞIDAKİ ŞEKİLDE YAZINIZ.

MODE _EXP_SHFT_ PCL_P1_ENT_KİN_3_ENT_KİN_4_X_KOUT_1_

-_KOUT_3_X_KOUT_2_=_÷_2_INV_M-_KOUT_3_KİN_1_KOUT_4_KİN_2_INV_

RTN_MODE_ENT



işlem

Nokta No
Mesafe x
Kot y

1
10
20

2
30
40

3
40
30

4
10
20



Herhangi bir Hesaba Başlamadan önce INV_KAC ve INV_Min



INV_KAC_INV_MİN_10_RUN_ 20_ RUN_30_ RUN_40_RUN_40_RUN_30_ RUN_

10_RUN_20_RUN



SONUC MR ‘DEN İSTENECEK. SONUÇ=200 M2



B)ŞEV KESİŞME NOKTASININ BULUNMASI
Mod_0_P1

ENT_1_-_Kout_3_=_÷_(_ENT_2_-_Kout_4_=_Kin_6_+/-_Kin_X_4_Kout_X_5_Kout_

2_-_Kout_1_+_Kout_3_=_Kin_+_4_Kout_5_-_Kout_6_=_Kin_÷_4_Kout_4_INV_HLT

Kout_1_+_Kout_5_X_(_Kout_4_-_Kout_2_=_Mod_.



Y2/X2.................Y/X..................Y3/X3

.

.

. Y1/X1





Veri Sırası: Y1 Kin 1,X1 Kin2, Y2 Kin3,X2 K4, n Kin5 Kaydedilir.

İşlem: P1_Y3_RUN_X3_RUN_= X i verir. Tekrar RUN = Y ’yi verir



C) İKİ NOKTA YARDIMIYLA KOORDİNATI BİLİNEN
3.NOKTANIN AÇI ve MESAFESİ

Programı yazmaya başlamadan önce Kin1 600,Kin2 700,Kin4 800,Kin5 900 girin.

Mode_0_P2_ENT_Kin_3_ENT_Kin_6_Kout_5_-Kout_2_=_INV_+_[_Kout_4_

-_Kout_1_]_=_INV_ x –y _INV_Min_Kout_6_-Kout_2_=_INV_+_[_Kout_3_-

Kout_1]_=_INV_ENT_INV_ x-y _ MR_=_INV_RTN_MODE_.

Programı Çalıştırırken:

Önce Durulan Nokta Y’si Kin1 , X ‘i Kin2

Bakılan Noktanın Y’si Kin4 , X ‘i Kin5