Thứ Sáu, 24 tháng 2, 2012

Đọc và ghi text giá trị Z của point và circle.

*Trong quá trình làm việc kông ít lần phải tiếp xúc và xử lý các bản vẽ hiện trạng mà tại đó các cao độ được các chương trình chuyên nghành bắn ra thành phẩm không như ý muốn.
-Cao độ được thể hiện bằng 1 text thể hiện số nguyên nằm phía trước rồi đến point thay cho dấu phẩy (có khi thèn point được thay bằng circle) và sau cùng là text thể hiện giá trị số lẻ.
-Vì rời rạch như thế nên các anh kiến trúc nhà ta khi in ấn muốn thay đổi kích thước các text cho phù hợp thì sẽ bị khoảng cách giữa text trước và sau là quá xa hoặc quá gần.
-Nếu giá trị text này là 1 text thì khỏe quá bạn nhỉ.
-Dùng lisp này xem nhé.

+Tên lệnh KTHT (kiểm tra hiện trạng)

(đang sửa bài viêt.....)




File lisp.
Bạn copy nội dung và tạo file lisp hoặc tải về phía dưới nhé!

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(DEFUN c:scxy()
(setq oldvalue (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(setq donvi (/ (getvar "viewsize") 40))
(princ "Chon doi tuong can scale: ")
(setq ss (ssget))
(setq dc (getpoint "\nChon diem goc: "))
(setq diemvt1 (polar dc pi donvi))
(setq diemvt2 (polar dc (* 2 pi) donvi))
(setq diemvt3 (polar dc (/ pi 2) donvi))
(setq diemvt4 (polar dc (- 0 (/ pi 2)) donvi))
(grdraw diemvt1 diemvt2 2)
(grdraw diemvt3 diemvt4 2)
(scxyg)


(princ)
)

;;;;;;;;;;;;;
(defun scxyp ()
(setq diem1 (getpoint "\nDiem thu nhat cua hinh chu nhat chuan: "))
(setq diem2 (getcorner diem1"\nDiem thu hai cua hinh chu nhat chuan: "))
(setq diem11 (list (car diem1) (cadr diem2)))
(setq diem22 (list (car diem2) (cadr diem1)))
(grdraw diem1 diem11 3)
(grdraw diem11 diem2 3)
(grdraw diem2 diem22 3)
(grdraw diem1 diem22 3)
(setq daichuany (distance diem1 diem22))
(setq daichuanx (distance diem2 diem22))

(setq diem1 (getpoint diem1"\nDiem thu nhat cua hinh chu nhat den: "))
(setq diem2 (getcorner diem1"\nDiem thu hai cua hinh chu nhat den: "))
(setq diem11 (list (car diem1) (cadr diem2)))
(setq diem22 (list (car diem2) (cadr diem1)))
(grdraw diem1 diem11 4)
(grdraw diem11 diem2 4)
(grdraw diem2 diem22 4)
(grdraw diem1 diem22 4)
(setq daideny (distance diem1 diem22))
(setq daidenx (distance diem2 diem22))
(setq tilex (/ daidenx daichuanx))
(setq tiley (/ daideny daichuany))
(command "block" "blocktrunggian" dc ss "")
(Command "Insert" "blocktrunggian" dc tiley tilex 0 "")
(Command "Explode" "last")
(Command "Purge" "B" "blocktrunggian" "Y" "Y")
(setvar "CMDECHO" oldvalue)
(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA**")
(princ)
)
;;;;;;;;;;;;;
(defun scxyg ()

(setq tilexb "1")
(setq tileyb "1")

(setq DCL_ID (load_dialog "scalexy.DCL"))
(new_dialog "tilescxy" DCL_ID)
(setq dial(load_dialog "scalexy.dcl"))

(action_tile "btn_pick" "(done_dialog 1)")
(action_tile "btn_dongy" "(done_dialog 2)")
(action_tile "btn_thoi" "(done_dialog 3)")
(set_tile "tilexb" tilexb)
(action_tile "tilexb" "(setq tilexb (get_tile \"tilexb\"))")
(set_tile "tileyb" tileyb)
(action_tile "tileyb" "(setq tileyb (get_tile \"tileyb\"))")

(setq phepchon (start_dialog))
(cond

((= phepchon 1) (scxyp))
((= phepchon 2) (dongysc))
((= phepchon 3) (thoi))
)
(Princ)
)
;;;;;;;;;;;;;;;;;
(defun dongysc ()
(setq tilex tilexb)
(setq tiley tileyb)
(command "block" "blocktrunggian" dc ss "")
(Command "Insert" "blocktrunggian" dc tiley tilex 0 "")
(Command "Explode" "last")
(Command "Purge" "B" "blocktrunggian" "Y" "Y")
(setvar "CMDECHO" oldvalue)
(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA**")
(Princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(Defun thoi ()
(xlbqpqd32)
(princ "\nPHAM QUOC DUY Binh Son - Quang ngai")
(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
(Princ)
)

Không có nhận xét nào:

Đăng nhận xét

Khi viết nhận xét mong bạn không đứng vai trò nặc danh! Bạn có thể chọn Name/Url trong đó Url là http://duy782006.blogspot.com/ như vậy hay hơn nặc danh bạn nhé.