Chuyển đến nội dung
Diễn đàn CADViet

PhoenixA

Thành viên
  • Số lượng nội dung

    6
  • Đã tham gia

  • Lần ghé thăm cuối

Cộng đồng

0 (bình thường)

About PhoenixA

  • Cấp bậc
    biết pan
  1. em có lisp ghi cao độ ZZ, giờ em muốn nó thành thế này, nhờ các cao nhân chỉnh sửa giúp ạ đây là lisp ;; free lisp from cadviet.com ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=15836 (defun DXFcn (code elist) (cdr (assoc code elist)) ) ;============================================================ (prompt"\n[Cmd:CDX] - GHI CAO DO DIEM TREN TRAC NGANG Edit by Hoang Dinh Duc 0922.27.97.33 \n") ;============================================================ (defun c:zz (); / DZ pt y ptside ang OT sc1 scale tx ty tx1 ty1 p0 p1 p2 p3 p4 p5 p6 p7 fn f) (command "Undo" "BEGIN") (if (not h) (setq h 0.02)) (if (= tx nil) (setq tx 1)) (if (= ty nil) (setq ty 1)) ;=============================== (setq h1 (getreal (strcat "\n Cao text < " (rtos h 2 2) " >: ")) tx1 (getreal (strcat "\nTy le theo phuong X <1/"(rtos tx 2 2)">: 1/")) ty1 (getreal (strcat "\nTy le theo phuong Y <1/"(rtos ty 2 2)">: 1/"))) (if h1 (setq h h1)) (if tx1 (setq tx tx1)) (if ty1 (setq ty ty1)) (setq ATLAST (getvar "Attreq")) (setq CMLAST (getvar "cmdecho")) (setq OSLAST (getvar "OSMODE")) (setq DZ (getvar "DIMZIN")) (setq OT (getvar "ORTHOMODE")) (setvar "ORTHOMODE" 0) (setvar "cmdecho" 0) (command "osmode" 99) ;======================================================== (setq p0 (getpoint "\n Chon diem dat bang tong hop")) (styleset) (command "osmode" 0) (command "text" "j" "mc" (list (+ (car p0) (* 25 h)) (+ (cadr p0) (* 2 h))) (* 2 h) 0 "BANG TONG HOP") (command "text" "j" "mc" (list (+ (car p0) (* 5 h)) (- (cadr p0) (* 1.5 h))) h 0 "STT diem") (command "text" "j" "mc" (list (+ (car p0) (* 20 h)) (- (cadr p0) (* 1.5 h))) h 0 "K.cach toi tim (m)") (command "text" "j" "mc" (list (+ (car p0) (* 40 h)) (- (cadr p0) (* 1.5 h))) h 0 "Cao đo (m)") (setq p1 (list (+ (car p0) (* 10 h)) (cadr p0)) p2 (polar p0 0 (* 30 h)) p3 (polar p0 0 (* 50 h)) p4 (polar p3 (* 1.5 pi) (* 3 h)) p5 (polar p2 (* 1.5 pi) (* 3 h)) p6 (polar p1 (* 1.5 pi) (* 3 h)) p7 (polar p0 (* 1.5 pi) (* 3 h)) ) (command "pline" p0 p3 p4 p7 "c") (command "pline" p1 p6 "") (command "pline" p2 p5 "") (setq p0 p7) (command "osmode" 15359) (setq fn (getfiled "Select a File" "" "csv" 1)) (setq f (open fn "w")) (write-line " STT diem, K.cach toi tim (m), Cao đo (m)" f) (setq i 1) ;================================================================================================ (setq pt0 (osnap (getpoint "Diem tim TN tu nhien") "end")) (print) (setq x0 (car pt0) y0 (cadr pt0)) (setq ed (entget (car (entsel "\nChon cao do tim: ")))) (setq H0 (read (DXFcn 1 ed))) (command "osmode" 15359) (setq pt (getpoint "\nDiem chen: ")) (While (/= pt nil) (command "osmode" 0) (Progn (setq ptside (getpoint "\nPhia chen:" pt) ang (angle pt ptside)) (setq y (- (cadr pt) y0 (- H0))) (setq x (- (car pt) x0)) (setvar "DIMZIN" 0) (cond ((> x 0) (setq x (strcat "" (rtos (* x tx) 2 2)))) ((< x 0) (setq x (rtos (* x tx) 2 2))) ((= x 0) (setq x "0.00")) ) (cond ((> y 0) (setq y (strcat "+" (rtos (* y ty) 2 2)))) ((< y 0) (setq y (rtos (* y ty) 2 2))) ((= y 0) (setq y "%%p0.00"))) ;;;;(setq x (ustr 0 "Khoang cach: " x T)) ;;;;(setq y (ustr 0 "Cao do: " y T)) (progn (if (AND (>= ang 0) (< ang (/ pi 2))) (setq pt3 (list (car pt) (+ (cadr pt) (* 1.15 h))) pt4 (list (car pt) (+ (cadr pt) (* 2.5 h))) pt5 (list (+ (car pt4) (* 5 h)) (cadr pt4)) pt6 (list (+ (car pt4) (* 2.5 h)) (+ (cadr pt4) (* 0.8 h))) pt7 (list (+ (car pt4) (* 2.5 h)) (- (cadr pt4) (* 0.8 h))))) (if (AND (>= ang (/ pi 2)) (< ang pi)) (setq pt3 (list (car pt) (+ (cadr pt) (* 1.15 h))) pt4 (list (car pt) (+ (cadr pt) (* 2.5 h))) pt5 (list (- (car pt4) (* 5 h)) (cadr pt4)) pt6 (list (- (car pt4) (* 2.5 h)) (+ (cadr pt4) (* 0.8 h))) pt7 (list (- (car pt4) (* 2.5 h)) (- (cadr pt4) (* 0.8 h))))) (if (AND (>= ang pi) (< ang (+ pi (/ pi 2)))) (setq pt3 (list (car pt) (- (cadr pt) (* 1.15 h))) pt4 (list (car pt) (- (cadr pt) (* 2.5 h))) pt5 (list (- (car pt4) (* 5 h)) (cadr pt4)) pt6 (list (- (car pt4) (* 2.6 h)) (+ (cadr pt4) (* 0.8 h))) pt7 (list (- (car pt4) (* 2.5 h)) (- (cadr pt4) (* 0.8 h))))) (if (AND (>= ang (+ pi (/ pi 2))) (< ang (* 2 pi))) (setq pt3 (list (car pt) (- (cadr pt) (* 1.15 h))) pt4 (list (car pt) (- (cadr pt) (* 2.5 h))) pt5 (list (+ (car pt4) (* 5 h)) (cadr pt4)) pt6 (list (+ (car pt4) (* 2.5 h)) (+ (cadr pt4) (* 0.8 h))) pt7 (list (+ (car pt4) (* 2.5 h)) (- (cadr pt4) (* 0.8 h))))) );progn (command "pline" pt "w" 0 (* 0.45 h) pt3 "w" 0 0 pt4 pt5 "" "text" "m" pt6 h 0 y "text" "m" pt7 h 0 x) (setvar "DIMZIN" DZ) (command "osmode" 15359) );progn (command "osmode" 0) (command "text" "j" "mc" (list (+ (car p0) (* 5 h)) (- (cadr p0) (* 1.5 h))) h 0 (rtos i 2 0)) (command "text" "j" "mc" (list (+ (car p0) (* 20 h)) (- (cadr p0) (* 1.5 h))) h 0 x) (command "text" "j" "mc" (list (+ (car p0) (* 40 h)) (- (cadr p0) (* 1.5 h))) h 0 y) (setq p1 (list (+ (car p0) (* 10 h)) (cadr p0)) p2 (polar p0 0 (* 30 h)) p3 (polar p0 0 (* 50 h)) p4 (polar p3 (* 1.5 pi) (* 3 h)) p5 (polar p2 (* 1.5 pi) (* 3 h)) p6 (polar p1 (* 1.5 pi) (* 3 h)) p7 (polar p0 (* 1.5 pi) (* 3 h)) ) (command "pline" p0 p3 p4 p7 "c") (command "pline" p1 p6 "") (command "pline" p2 p5 "") (setq p0 p7) (write-line (strcat (rtos i 2 0) (chr 44) x (chr 44) y) f) (setq i (1+ i)) (command "osmode" 15359) (setq pt (getpoint "\nDiem chen: ")) );while (close f) (setvar "OSMODE" OSLAST) (setvar "ORTHOMODE" OT) (setvar "cmdecho" CMLAST) (prompt"\n[GHI CAO DO TRAC NGANG] Edit by Hoang Dinh Duc 0922.27.97.33\n") (command "Undo" "End") (princ) );end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun styleset (/ h0 stl) (setq stl (getvar "textstyle") h0 (getvar "textsize")) (if (/= h0 0) (command "style" stl "" 0 "" "" "" "" "")) )
  2. như tít, em có phải trắc ngang, các đối tượng như độ dốc và đầu cờ, cứ di chuyển hay copy sang chỗ khác là biến mất dù đã bật show proxy graphich
  3. PhoenixA

    Nhờ chỉnh sửa lisp tạo đường bao

    sao em thêm vào mà không được hả bác, bác có thể up file lisp bác đã chỉnh sửa rồi được không ạ
  4. PhoenixA

    lisp vè đường pline theo số liệu excel

    mình cũng đang cần tìm lisp này, có file excel ghi khoảng cách tới tim và cao độ của các điểm ngoài hiện trường, giờ mình muốn áp vào trắc ngang theo tên lý trình thì có lisp gì không các bác, vì bên mình là nhận bàn giao từ 1 bên đã làm rồi, giờ họ gửi cho bên mình file excel KC, CĐ các mặt cắt, mình phải áp vào từng trắc ngang theo số liệu để tỉnh khối lượng đào đắp còn lại
  5. như tít, có bác nào có thì cho em xin với ạ
×