Đến nội dung


Hình ảnh
- - - - -

[Nhờ chỉnh sửa] Lisp ghi cao độ


  • Please log in to reply
32 replies to this topic

#21 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 07 August 2011 - 10:34 PM

Xét trong phạm vi hẹp thì có thể hiểu nôm na :
Biến cục bộ : chỉ tồn tại sau khi thực hiện xong chức năng của hàm / phiên làm việc, sau đó sẽ bị trả về Nil
Bạn thường làm việc này khi khai báo hàm (defun abc (/ x y z)....). Dấu / + danh sách các biến bị khử sẽ tương đương với việc bạn thêm dòng này ở cuối hàm (setq x nil y nil z nil)
Biến toàn cục : không làm 2 việc trên ^^, nghĩa là muốn x,y,z tồn tại cùng giá trị của nó, hãy xóa hết / x y z đi, hoặc không ép nó về Nil ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#22 NguyenNgocSon

NguyenNgocSon

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 368 Bài viết
Điểm đánh giá: 39 (tàm tạm)

Đã gửi 11 August 2011 - 11:07 PM

Giờ em muốn cải tiến lisp có tính năng như file sau : My link
Mong các bác xem giúp ??
Em có tham khảo code tại: http://www.cadviet.c...c=13203&st=3500
và chỉnh sửa nhưng chưa được:
  • 0

#23 NguyenNgocSon

NguyenNgocSon

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 368 Bài viết
Điểm đánh giá: 39 (tàm tạm)

Đã gửi 12 August 2011 - 07:39 AM

Em đã code thử như sau:
; Thiet lap cac thong so
(defun tso ()
(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/"))))
; Ket thuc khoi tao
(defun ktra ()
(if (not (tblsearch "layer" "CaodoTN"))
(command "-LAYER" "m" "CaodoTN" "c" 6 "CaodoTN" "" )
(setvar "clayer" "CaodoTN" )
)
)
(defun c:cdtn()
;;;;
(prompt "\n Thiet lap thong so ban dau: Cao chu=0.4;TL-X=1;TL-Y=1")
;; Thiet lap thong so
(if (not h) (setq h 0.4))
(if (not tx) (setq tx 1))
(if (not ty) (setq ty 1))
(initget "Y N")
(setq caidat (getkword "\n Ban co muon thiet lap lai thong so ban dau khong? Y<N>: "))
(cond ((= caidat "Y") (tso))
((or (= caidat nil) (= caidat "N")) T))
(if h1 (setq h h1))
(if tx1 (setq tx tx1))
(if ty1 (setq ty ty1))
;;;;; Ket thuc thiet lap
(Ktra)
(setvar "cecolor" "bylayer")
;(setq pt0 (osnap (getpoint "Diem tim TN tu nhien") "end")) (print)
;(osnap (setq pt0 (getpoint "Diem tim TN tu nhien")) "end") (print)
(command "osmode" 33) (princ)
(setq pt0 (getpoint "Diem tim TN tu nhien"))
(setq x0 (car pt0) y0 (cadr pt0)); Lay toa do diem tim
;; Chon text
(setq ed (entget (car (entsel "\nChon cao do tim: "))))
(setq sst (cdr (assoc 1 ed))) ;;Lay noi dung text:ma DXF=1
(setq sta1 (atof sst))
;; ket thuc chon
;(command "osmode" 15359)
;(setq pt (getpoint "\nDiem chen: "))
; Doan ma them
;;;;;;;;;(setq pt (getpoint "\nDiem chen: "))
(alert "\n Chon cac duong chuan")
(setq sslg (acet-ss-to-list (ssget (list (cons 0 "*LINE") (cons 8 "chuan")(cons 62 2)))))
;;;;;;;;lng (car (entsel "\n Hay chon line goc"))
(alert "\n Chon cac duong can xac dinh giao diem")
(setq ssln (ssget (list (cons 0 "*LINE") (cons 8 "LINEDONGTN,ENTTNTHIETKE")))
sslst (acet-ss-to-list ssln)
)
;;;;;(While (/= pt nil)
(foreach lng sslg
(foreach ln sslst
(setq pt (car (acet-geom-intersectwith lng ln 0)))
(if pt
;; Ket thuc ma them

;(While (/= pt nil)
(command "osmode" 0) (princ)
(command "ORTHO" "OFF") (princ)
(Progn
(setq ptside (getpoint "\nPhia chen:" pt)
ang (angle pt ptside))
(setq x1 (car pt) y1 (cadr pt)); Lay toa do diem chen
(setq dty (- y1 y0))
(setq dtx (- x1 x0))
(setq y (+ sta1 (* dty (/ 1 ty))))
(setq x (* dtx (/ 1 tx)))
;(setvar "DIMZIN" 0)
(cond ((> x 0) (setq x (strcat "" (rtos x 2 2))))
((< x 0) (setq x (rtos (abs x) 2 2)))
((= x 0) (setq x "0.00")))
(cond ((> y 0) (setq y (strcat "+" (rtos y 2 2))))
((< y 0) (setq y (rtos y 2 2)))
((= y 0) (setq y "%%p0.00")))
(progn
(if (AND (>= ang 0) (< ang (/ pi 2)))
(setq pt3 (list (car pt) (+ (cadr pt) (* 1.0 h)))
pt4 (list (car pt) (+ (cadr pt) (* 2.5 h)))
pt5 (list (+ (car pt4) (* 4.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.0 h)))
pt4 (list (car pt) (+ (cadr pt) (* 2.5 h)))
pt5 (list (- (car pt4) (* 4.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.0 h)))
pt4 (list (car pt) (- (cadr pt) (* 2.5 h)))
pt5 (list (- (car pt4) (* 4.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 (/ pi 2))) (< ang (* 2 pi)))
(setq pt3 (list (car pt) (- (cadr pt) (* 1.0 h)))
pt4 (list (car pt) (- (cadr pt) (* 2.5 h)))
pt5 (list (+ (car pt4) (* 4.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.35 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) (princ)
(command "osmode" 33) (princ)
;(setq pt (getpoint "\nDiem chen: "))
);progn
);if
);foreach
);;;foreach1
(command "osmode" 15359) (princ)
;;;;;;;;;;;
(princ)
);end
Nhưng lisp lỗi ?


Thông báo lỗi là gì đây ????
- Lỗi syntax cơ bản của hàm If ở dòng này :

(if pt
;; Ket thuc ma them

;(While (/= pt nil)
(command "osmode" 0) (princ)
(command "ORTHO" "OFF") (princ)


  • 0

#24 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 12 August 2011 - 04:13 PM

Em đã code thử như sau:

Hề hề hề,
Lỗi đúng như bạn đã biết, là do cú pháp của hàm if
Do hàm if chỉ chấp nhận một hàm hành động nên khi bạn muốn có nhiều hành động với cùng một điều kiện thì bạn phải dùng thêm hàm (progn ..... và nhét tất cả các hành động bạn muốn thực hiện vào trong hàm này rồi đóng nó lại.
Vì dụ: (if diều kiện a
(progn
Hành động b
hành động c
.........
hành động n
);;;;;end progn
(progn
..........
............
);;;;;end progn
);;;;;;end if

Mình đã sửa lại cái đoạn code trên của bạn thành cái có lẽ bạn muốn. Tuy nhiên, trong trường hợp các giao điểm nằm gần nhau thì các text sẽ bị chồng lên nhau đó. Tùy bạn test và lựa chọn.


; Thiet lap cac thong so
(defun tso ()
(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/"))))
; Ket thuc khoi tao
(defun ktra ()
(if (not (tblsearch "layer" "CaodoTN"))
(command "-LAYER" "m" "CaodoTN" "c" 6 "CaodoTN" "" )
(setvar "clayer" "CaodoTN" )
)
)
(defun c:cdtn()
(command "undo" "be")
;;;;
(prompt "\n Thiet lap thong so ban dau: Cao chu=0.4;TL-X=1;TL-Y=1")
;; Thiet lap thong so
(if (not h) (setq h 0.4))
(if (not tx) (setq tx 1))
(if (not ty) (setq ty 1))
(initget "Y N")
(setq caidat (getkword "\n Ban co muon thiet lap lai thong so ban dau khong? Y<N>: "))
(cond ((= caidat "Y") (tso))
((or (= caidat nil) (= caidat "N")) T))
(if h1 (setq h h1))
(if tx1 (setq tx tx1))
(if ty1 (setq ty ty1))
;;;;; Ket thuc thiet lap
(Ktra)
(setvar "cecolor" "bylayer")
;(setq pt0 (osnap (getpoint "Diem tim TN tu nhien") "end")) (print)
;(osnap (setq pt0 (getpoint "Diem tim TN tu nhien")) "end") (print)
(command "osmode" 33) (princ)
(setq pt0 (getpoint "Diem tim TN tu nhien"))
(setq x0 (car pt0) y0 (cadr pt0)); Lay toa do diem tim
;; Chon text
(setq ed (entget (car (entsel "\nChon cao do tim: "))))
(setq sst (cdr (assoc 1 ed))) ;;Lay noi dung text:ma DXF=1
(setq sta1 (atof sst))
;; ket thuc chon
;(command "osmode" 15359)
;(setq pt (getpoint "\nDiem chen: "))
; Doan ma them
;;;;;;;;;(setq pt (getpoint "\nDiem chen: "))
(alert "\n Chon cac duong chuan")
(setq sslg (acet-ss-to-list (ssget (list (cons 0 "*LINE") (cons 8 "chuan")(cons 62 2)))))
;;;;;;;;lng (car (entsel "\n Hay chon line goc"))
(alert "\n Chon cac duong can xac dinh giao diem")
(setq ssln (ssget (list (cons 0 "*LINE") (cons 8 "LINEDONGTN,ENTTNTHIETKE")))
sslst (acet-ss-to-list ssln)
)
;;;;;(While (/= pt nil)
(setq ptside (getpoint "\nPhia chen:"))
(foreach lng sslg
(foreach ln sslst
(setq pt (car (acet-geom-intersectwith lng ln 0)))
(if pt
;; Ket thuc ma them
(Progn
;(While (/= pt nil)
(command "osmode" 0) (princ)
(command "ORTHO" "OFF") (princ)
(setq ;;;;;;;;; ptside (getpoint "\nPhia chen:" pt)
ang (angle pt ptside))
(setq x1 (car pt) y1 (cadr pt)); Lay toa do diem chen
(setq dty (- y1 y0))
(setq dtx (- x1 x0))
(setq y (+ sta1 (* dty (/ 1 ty))))
(setq x (* dtx (/ 1 tx)))
;(setvar "DIMZIN" 0)
(cond ((> x 0) (setq x (strcat "" (rtos x 2 2))))
((< x 0) (setq x (rtos (abs x) 2 2)))
((= x 0) (setq x "0.00")))
(cond ((> y 0) (setq y (strcat "+" (rtos y 2 2))))
((< y 0) (setq y (rtos y 2 2)))
((= y 0) (setq y "%%p0.00")))
(progn
(if (AND (>= ang 0) (< ang (/ pi 2)))
(setq pt3 (list (car pt) (+ (cadr pt) (* 1.0 h)))
pt4 (list (car pt) (+ (cadr pt) (* 2.5 h)))
pt5 (list (+ (car pt4) (* 4.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.0 h)))
pt4 (list (car pt) (+ (cadr pt) (* 2.5 h)))
pt5 (list (- (car pt4) (* 4.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.0 h)))
pt4 (list (car pt) (- (cadr pt) (* 2.5 h)))
pt5 (list (- (car pt4) (* 4.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 (/ pi 2))) (< ang (* 2 pi)))
(setq pt3 (list (car pt) (- (cadr pt) (* 1.0 h)))
pt4 (list (car pt) (- (cadr pt) (* 2.5 h)))
pt5 (list (+ (car pt4) (* 4.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.35 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) (princ)
(command "osmode" 33) (princ)
;(setq pt (getpoint "\nDiem chen: "))
);progn
);if
);foreach
);;;foreach1
(command "osmode" 15359) (princ)
(command "undo" "e")
;;;;;;;;;;;
(princ)
);end

Chúc bạn vui

Bài viết đã được chỉnh sửa nội dung bởi phamthanhbinh: 12 August 2011 - 09:47 PM
Bổ sung code đã chỉnh sửa

  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#25 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 12 August 2011 - 05:07 PM

Hề hề hề,
Lỗi đúng như bạn đã biết, là do cú pháp của hàm if
Do hàm if chỉ chấp nhận một hàm hành động nên khi bạn muốn có nhiều hành động với cùng một điều kiện thì bạn phải dùng thêm hàm (progn ..... và nhét tất cả các hành động bạn muốn thực hiện vào trong hàm này rồi đóng nó lại.

Chúc bạn vui

Hề hề, cái phần đấy là e edit luôn vào bài của bạn ấy sau lời nhắc "post nội dung lỗi", cho đỡ tốn đất, quên hem để Edit by :lol:
P/S : Bạn NNS đã nhiều lần post sửa code nhưng đều nói chung chung là "LỖI"
  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#26 NguyenNgocSon

NguyenNgocSon

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 368 Bài viết
Điểm đánh giá: 39 (tàm tạm)

Đã gửi 12 August 2011 - 08:16 PM

Mình chạy báo lỗi :
Command: Diem tim TN tu nhien
Chon cao do tim:
Select objects: 1 found
Select objects:
Select objects: Specify opposite corner: 14 found
Select objects: ; error: bad argument type: point: nil

??
  • 0

#27 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 12 August 2011 - 09:29 PM

Mình chạy báo lỗi :
Command: Diem tim TN tu nhien
Chon cao do tim:
Select objects: 1 found
Select objects:
Select objects: Specify opposite corner: 14 found
Select objects: ; error: bad argument type: point: nil

??

Hề hề hề,
Bạn chạy cái chi nó báo lỗi??? Nếu là chạy cái lisp mình sửa thì bạn thử kiểm tra như sau:
Theo như cái báo lỗi thì có thể là nó không tìm được point ptside. Vậy bạn có thấy nó nhắc : "Phia chen:" trên dòng command không, và bạn đã chọn phía chèn text chưa???
Hề hề hề, mong rằng bạn sẽ chạy lại cẩn thận hơn bạn nhé (nếu như bạn chạy thử cái lisp mình đã sửa...)
Chúc bạn vui.

Hề hề hề,
Đúng là lisp có lỗi bạn ạ. Do mình test không kỹ. Lý do là khi mình test thì đã có điểm pt do các lần trước chạy thử mà chưa trả nó về nil.
Vậy nên hàm (setq ptside (getpoint "\nPhia chen:" pt)) nó không báo lỗi. Còn khi bạn chạy bắt đầu, cái thằng pt này chưa có nên nó báo lỗi. Do vậy bạn chỉ cần xóa nó trong hàm này đi để thành (setq ptside (getpoint "\nPhia chen:")) là nó hết báo lỗi bạn ạ.
Bạn hãy thử xem nhé.
Mình sẽ sửa lại code ở bài post trước đó. Rất mong bạn tha lỗi và nếu bạn không muốn tự sửa, có thể down lại code từ bài trên để chạy thử.
Chúc bạn vui lần nữa....

Bài viết đã được chỉnh sửa nội dung bởi phamthanhbinh: 12 August 2011 - 09:49 PM
Đính chính lisp

  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#28 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 12 August 2011 - 09:37 PM

Em nhìn thấy dòng này trong code nè ^^

(setq ;;;;;;;;; ptside (getpoint "\nPhia chen:" pt)
ang (angle pt ptside))


Thế này thì còn đâu thao tác chọn ptside nữa, nên dòng (angle pt ptside) sẽ báo badtype ngay ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#29 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 12 August 2011 - 09:51 PM

Em nhìn thấy dòng này trong code nè ^^

Thế này thì còn đâu thao tác chọn ptside nữa, nên dòng (angle pt ptside) sẽ báo badtype ngay ^^

Hổng phải đâu là hổng phải đâu,
Mình đã copy nó lên phía trên rùi mà. Nhưng sai là ở thằng pt như mình đã nói ở bài trên....
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#30 NguyenNgocSon

NguyenNgocSon

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 368 Bài viết
Điểm đánh giá: 39 (tàm tạm)

Đã gửi 12 August 2011 - 10:00 PM

"phamthanhbinh" có thể giúp mình: các điểm chèn có thể được chọn theo hướng từ trái qua phải tại các giao điểm của đường chuẩn với các đường chọn không? như thế quy luật pick điểm sẽ rõ ràng hơn. Thank bạn !
  • 0

#31 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 12 August 2011 - 11:10 PM

"phamthanhbinh" có thể giúp mình: các điểm chèn có thể được chọn theo hướng từ trái qua phải tại các giao điểm của đường chuẩn với các đường chọn không? như thế quy luật pick điểm sẽ rõ ràng hơn. Thank bạn !

Hề hề hề,
Hoàn toàn không hiểu ý bạn làm vậy để làm gì. Việc sắp xếp các giao điểm này không khó nhưng nó chả giúp ích gì cho cái việc ghi text này cả nếu như không nói là nó chỉ làm cho phức tạp vấn đề lên. Phải chăng bạn thừa giấy thì vẽ thêm voi???
Yêu cầu bạn đặt ra đã được lisp giải quyết tốt chưa và có gì cần bổ sung. Nếu nó chưa đáp ứng được thì bạn cần nói rõ ở chỗ nào chứ không phải bạn lại đặt ra những điều kiện mới buộc người viết lisp phải làm lại như vậy.
Nếu bạn muốn đặt thêm các bài toán mới thì nên lập một topic mới chứ không thể kéo dài một topic như vậy.
Còn cái quy luật pick điểm trong cái lisp của mình đã sửa ở trên là khá rõ ràng chứ không phải không có quy luật như bạn nghĩ. Đó là nó dựa vào cái trật tự của các *line trong tập chọn sslst trong cái lisp của chính bạn đã post. Trật tự này hoàn toàn phụ thuộc vào cái cách lựa chọn khi bạn chọn chúng. Vậy nên nếu bạn muốn nó có trật tự ra sao thì hãy pick các đối tượng trong tập chọn này theo trật tự đó.
Còn nếu bạn lựa chọn bừa bãi thì cũng có cách để sắp xếp lại, nhưng như vậy chỉ là một việc thừa nên mình sẽ không giúp được bạn đâu.
Chào bạn và chúc bạn vui.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#32 Nguyễn Tá Thơ

Nguyễn Tá Thơ

    Chưa sử dụng CAD

  • Members
  • Pip
  • 3 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 03 April 2012 - 03:25 PM

Chào các anh, các anh giúp em với, em không biết viết lisp. Em đang đi thi công, cần đo và kiểm tra hiện trạng của nhà thầu đào và đắp đến đâu, khối lượng còn lại là bao nhiêu. Em đã vẽ đường hiện trạng thi công lên trắc ngang, em nhờ các anh sửa lisp để chỉ cần pick vào pline là sẽ điền ngay cao độ tự nhiên và khoảng cách các điểm đo luôn. Em cũng đang dùng lisp CDTN nhưng phải pick chọn từng điểm của pline hiện trạng thi công. Thêm nữa em muốn bỏ qua mục chọn tỷ lệ theo phương X, tỷ lệ theo phương Y, và đặt mặc định luôn là 1/1. Em đã vẽ được một đường thẳng nối từ ĐIỂM TIM TRẮC NGANG TỰ NHIÊN xuống dưới và có chiều dài bằng cao độ tự nhiên(cái đường này em dùng để vẽ cái Pline hiện trạng thi công ạ). Nếu có thể các anh sử dụng được đường thẳng này để khỏi phải chọn lại ĐIỂM TIM TRẮC NGANG TỰ NHIÊN và CAO ĐỘ TỰ NHIÊN thì tốt quá. Cảm ơn các anh. Đây là file cad và lisp CDTN em đang dùng ạ: http://www.cadviet.c...107104_help.rar
  • 0

#33 Nguyễn Tá Thơ

Nguyễn Tá Thơ

    Chưa sử dụng CAD

  • Members
  • Pip
  • 3 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 04 April 2012 - 02:42 PM

Có cao thủ nào vào giúp em với, cả nhà ơi :( Please!
  • 0