1
2
初来乍到
使用道具 举报
(defun c:poligon () ;====== Input Data ! ====================; ! STA ! X (m) ! Y (m) !; ! (10) ! (15) ! (15) !;=================================================; disimpan di C:\procad\data\*.prn ; ++++ INPUT FROM KEY BOARD ++++(setq fnam1 "C:/Procad/Data/")(setq fnam2 "*.prn")(setq fnam3 "/procad/DFILE/CROSS/")(setq lastLL 2 lastRR 5)(setq f (getstring (strcat "\nFile Input Polygon Data c:/procad/data/ < " fnam2 " > ? : ") ))(if (/= f "") (setq fnam2 f))(setq fnam (strcat fnam1 fnam2))(setq check (findfile fnam))(while (= check nil) (prompt "\nNo File Found .....! ") (setq f (getstring (strcat "\nFile Input Polygon Data c:/procad/data/ < " fnam2 " > ? : ") ) ) (if (/= f "") (setq fnam2 f) ) (setq fnam (strcat fnam1 fnam2)) (setq check (findfile fnam))) ; while; ====== OUTPUT DATA sudut poligon(setq filout0 (getstring "\nFile Output Polygon Angle < *.txt > ? : "))(setq filout (strcat "c:/procad/data/" filout0))(setq foo (open filout "w")); ====== BACA DATA(setq fp (open fnam "r"))(setq file (read-line fp))(if (= file "") (setq file nil))(if (= file nil) (setq stop 1) (setq stop 0))(setq file (read-line fp))(setq patok0 (substr file 1 7)) ; STA(setq PX0 (atof (substr file 11 15))) ; koordinat x1(setq PY0 (atof (substr file 26 15))) ; koordinat y1(setq p0 (list PX0 PY0))(setq file (read-line fp))(setq patok1 (substr file 1 7)) ; STA(setq PX1 (atof (substr file 11 15))) ; koordinat x1(setq PY1 (atof (substr file 26 15))) ; koordinat y1(setq p1 (list PX1 PY1))(command "color" 20 "-linetype" "s" "dashdot" "")(command "pline" p0 p1 "");==== plot garis poligon(while (= stop 0) (setq file (read-line fp)) (setq patok2 (substr file 1 7)) ; STA (setq PX2 (atof (substr file 11 15))) ; koordinat x1 (setq PY2 (atof (substr file 26 15))) ; koordinat y1 (setq p2 (list PX2 PY2)) (command "color" 20) (command "line" p1 p2 "") (command "color" 2) (command "point" p1) (command "color" 7) (command "text" p1 "3" "45" patok1 "") (setq sdtp1p0 (angle p1 p0)) ;sudut p1-p0 (radian) (setq sdtp1p2 (angle p1 p2)) ;sudut p1-p0 (radian) (setq sdt20 (- sdtp1p0 sdtp1p2))(setq sdt20a (/ (* sdt20 180.0) pi)) ;sudut1 dalam derajad(setq sdt20aa (* (- 360.000 sdt20a) 0.50)) ;sudut1 dalam derajad;===== tulis data sudut di file output(setq data (strcat patok1 " " (rtos sdt20aa 2 3)))(write-line data foo) (setq p0 p1) (setq p1 p2) (setq patok1 patok2) (if (= file "") (setq file nil) ) (if (= file nil) (setq stop 1) (setq stop 0) )) ;while(close fp) (close foo) );defun
本版积分规则 发表回复 回帖后跳转到最后一页
微信公众平台
扫描访问手机版
点击图片下载手机App
|关于我们|小黑屋|乐筑天下 繁体中文
GMT+8, 2025-3-12 20:01 , Processed in 0.813901 second(s), 56 queries .
© 2020-2025 乐筑天下
在线时间:10:00-17:00
暂无
扫一扫,关注我们
帮助中心
关于我们
下载APP客户端