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

Viết lisp theo yêu cầu [phần 2]

Các bài được khuyến nghị

Bạn post nhầm topic rồi.Hơn nữa,hiện tượng của bạn chỉ gặp trên 1 file hay toàn bộ CAD?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn THANHBIH oi! help mình với.Mình gặp rắc rối về bock.Mình tạo 1 block thì khi tạo xong cai bock đó lập tức biến mất.vậy nghĩa là sao hả bạn.Bị lỗi gì thế ThanhBình

Nêu bạn tạo block = lisp thì sau khi tạo phải thêm 1 bước insert nữa:

 

VD:

(command "_.BLOCK" tenblock diemchen doituongtaoblock ""

"_.INSERT" tenblock diemchen 1 1 0)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn post nhầm topic rồi.Hơn nữa,hiện tượng của bạn chỉ gặp trên 1 file hay toàn bộ CAD?

mình xin lỗi vì nhầm topic nhưng vì gấp quá nên mình post lun.mong cac ban thông cảm.mình bị trên toàn bộ cad luôn bạn ơi.lúc truoc thì không có hiện tượng này.nhưng gần đây thì lại có.mình không bit làm sao cả

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nêu bạn tạo block = lisp thì sau khi tạo phải thêm 1 bước insert nữa:

 

VD:

(command "_.BLOCK" tenblock diemchen doituongtaoblock ""

"_.INSERT" tenblock diemchen 1 1 0)

cảm ơn bạn.Bạn có thể nói rõ hơn được không.Mình chỉ tạo 1 block bằng lệnh B thông thường thôi chứ ko phải băng list.Nhưng block đó biến mất khi mình tạo block xong.Thank bạn

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
cảm ơn bạn.Bạn có thể nói rõ hơn được không.Mình chỉ tạo 1 block bằng lệnh B thông thường thôi chứ ko phải băng list.Nhưng block đó biến mất khi mình tạo block xong.Thank bạn

 

Thì trong cái bảng block bạn chọn. Convert to block thay vì chọn Delete

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
cảm ơn bạn.Bạn có thể nói rõ hơn được không.Mình chỉ tạo 1 block bằng lệnh B thông thường thôi chứ ko phải băng list.Nhưng block đó biến mất khi mình tạo block xong.Thank bạn

Hề hề hề, chớ có hoảng hốt vậy bạn ơi. Nó có biến đi đâu mất mà lo. Chẳng qua nó chỉ không hiển thị tren màn hình mà thôi. Còn block đã được tạo rồi. Bây giờ bạn muốn xem nó tròn méo ra răng chỉ việc vào lệnh insert và nhập tên cái block vừa tạo là nó sẽ hiện ra hoành tráng cho bạn tha hồ tùng xẻo. Hề hề hề....

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
@Tue_VN: lisp đổi 2 table hôm trước bạn viết cho mình hôm nay lại thấy có trường hợp không đúng, bạn sửa giúp mình nhé :)

 

 

 

- Việc thứ 2 mình muốn nhờ là từ lisp đổi cột có sẵn, thay vì chọn cột A , sau đó chọn cột B => đổi chỗ 2 cột thì đổi thành chọn nhiều cột : Chọn cột A1 , A2, ... An sau đó chọn các cột B1, B2 ... Bn => Đổi chỗ cột A1 với B1, A2 với B2 ... An với Bn .

Điều kiện:

- Số lượng text trong cột A1 A2 A3 .. An có thể khác nhau

- Số lượng text trong cột A1 phải bằng số lượng text trong cột B1 , A2 = B2 ... An = Bn

 

Lisp đổi cột cũ:

Hề hề hề, Chào bạn hdt4151,

Về cái lisp đổi cột , mạn phép bác Tue_NV mình thử bổ sung cái bạn cần vào lisp của bác ấy. Bạn dùng thử, nếu không hài lòng thì mình xin lỗi, đành chờ bác ấy ra tay vậy.

(defun c:csn (/ sslst1 sslst2 i j ss1 ss2 ss x1 x2 els1 els2 ent)

(alert "\n Chon hang thu nhat cua bang mot")
(setq sslst1 (acet-ss-to-list (ssget (list (cons 0 "text"))))
       sslst1 (vl-sort sslst1 '(lambda (x y) 
                                     ((alert "\n Chon hang thu nhat cua bang hai")
(setq sslst2 (acet-ss-to-list (ssget (list (cons 0 "text"))))
        sslst2 (vl-sort sslst2 '(lambda (x y) 
                                     ((if (= (length sslst1) (length sslst2))
   (progn
         (setq i 0)
         (while (                   (setq els1 (entget (nth i sslst1 ))
                          x1 (cdr (assoc 10 els1))
                          els2 (entget (nth i sslst2 ))
                          x2 (cdr (assoc 10 els2))
                          ss (ssget "x" (list (cons 0 "text")))
                          j 0
                          i (1+ i)
                          ss1 (ssadd)
                          ss2 (ssadd)
                  )
                  (While (                              (setq ent (ssname ss j))
                            (if (equal (cadr (assoc 10 (entget ent))) (car x1) 0.01)
                                (setq ss1 (ssadd ent ss1))
                            )
                            (if (equal (cadr (assoc 10 (entget ent))) (car x2) 0.01)
                                 (setq ss2 (ssadd ent ss2))
                            )
                            (setq j (1+ j))
                  )

                  (cs ss1 ss2)
         )
     )
     (alert "\n So cot trong hai bang khong bang nhau. Exit.")
)
)    

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

(defun cs ( ss sx / lis1 lis2 n i nn mm li li1)
;Copy right by Tue_NV
(vl-load-com)
;;;;;(setq ss (ssget '((0 . "TEXT"))))
;;;;;;(setq sx (ssget '((0 . "TEXT"))))
(setq lis1 (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq lis2 (vl-remove-if 'listp (mapcar 'cadr (ssnamex sx))))
(setq lis1 (vl-sort lis1 '(lambda (x y)
(if (equal (cadr (assoc 10 (entget x)))
(cadr (assoc 10 (entget y)))
(cdr (assoc 40 (entget x))) )
((caddr (assoc 10 (entget y)))
)
((cadr (assoc 10 (entget y)))
)
)
))
)
(setq lis2 (vl-sort lis2 '(lambda (x y)
(if (equal (cadr (assoc 10 (entget x)))
(cadr (assoc 10 (entget y)))
(cdr (assoc 40 (entget x))) )
((caddr (assoc 10 (entget y)))
)
((cadr (assoc 10 (entget y)))
)
)
))
)
(setq n (sslength ss) i 0)

(if (= (length lis1) (length lis2))
(progn
(while (
(setq nn (entget (nth i lis1)))
(setq mm (entget (nth i lis2)))

(setq li (cdr (assoc 1 nn)))

(setq li1 (cdr (assoc 1 mm)))


(setq nn (subst (cons 1 li1) (assoc 1 nn) nn))
(setq mm (subst (cons 1 li) (assoc 1 mm) mm))

(entmod mm)
(entmod nn)
(setq i (+ i 1))

)
)
(alert "\n Hai chuoi khong bang nhau. Lisp khong thuc hien duoc")
)

(princ)

)

Chúc bạn vui.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
@Tue_VN: lisp đổi 2 table hôm trước bạn viết cho mình hôm nay lại thấy có trường hợp không đúng, bạn sửa giúp mình nhé :)

 

 

 

Link: http://www.mediafire.com/?0qilr6a6bairt83 (như trong link thì sau khi thay đổi hàng chữ "AS" đẩy lên hàng phía trên.

Chào bạn hdt4151,

Sở dĩ sau khi đổi cái text AScủa bạn bị nhảy lên hàng trên là do text của bạn sử dụng căn lề phải, trong khi lisp được viết dựa trên tọa độ của điểm đặt text là bên trái bạn ạ.

Bạn có thể tự sửa lisp cho trường hợp này bằng cách thay đổi toàn bộ các dòng mã có chứa (assoc 10 ....) thành (assoc 11 ....)

Hãy thử lại nhé.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Chào bạn hdt4151,

Sở dĩ sau khi đổi cái text AScủa bạn bị nhảy lên hàng trên là do text của bạn sử dụng căn lề phải, trong khi lisp được viết dựa trên tọa độ của điểm đặt text là bên trái bạn ạ.

Bạn có thể tự sửa lisp cho trường hợp này bằng cách thay đổi toàn bộ các dòng mã có chứa (assoc 10 ....) thành (assoc 11 ....)

Hãy thử lại nhé.

Nếu sửa như cách của bác Bình thì có thể lại áp dụng không đúng trong 1 số trường hợp nữa đó bác Bình ạ

Bạn hdt4151, bác Bình hãy thử lại với đoạn Code này. Tue_NV viết lại nhé:

(defun c:cs(/ ss sx lis1 lis2 n i nn mm li li1)
;Copy right by Tue_NV
(defun dd(e1 e2 / tb1 tb2)
   (setq tb1 (textbox e1) tb2 (textbox e2))
   (max (abs (- (caadr tb1) (caar tb1))) 
 (abs (- (caadr tb2) (caar tb2))) 
   )
)
(vl-load-com)
(setq ss (ssget '((0 . "TEXT"))))
(setq sx (ssget '((0 . "TEXT"))))
(setq lis1 (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq lis2 (vl-remove-if 'listp (mapcar 'cadr (ssnamex sx))))
(setq lis1 (vl-sort lis1 '(lambda (x y) 
      (if (equal (cadr (assoc 10 (entget x)))
                 (cadr (assoc 10 (entget y)))
                 (dd (entget x) (entget y))   )
            (               (caddr (assoc 10 (entget y)))
            )
        (               (cadr (assoc 10 (entget y)))
            )        
             )
        ))
)
(setq lis2 (vl-sort lis2 '(lambda (x y) 
      (if (equal (cadr (assoc 10 (entget x)))
                 (cadr (assoc 10 (entget y)))
                 (dd (entget x) (entget y))  )
            (               (caddr (assoc 10 (entget y)))
            )
        (               (cadr (assoc 10 (entget y)))
            )        
             )
        ))
)    
(setq n (sslength ss) i 0)

(if (= (length lis1) (length lis2))
(progn
   (while (
    (setq nn (entget (nth i lis1)))
    (setq mm (entget (nth i lis2)))

    (setq li (cdr (assoc 1 nn)))
    (setq li1 (cdr (assoc 1 mm)))
    (setq nn (subst (cons 1 li1) (assoc 1 nn) nn))
    (setq mm (subst (cons 1 li) (assoc 1 mm) mm))

    (entmod mm)
    (entmod nn)
    (setq i (+ i 1))

)
)
(alert "\n Hai chuoi khong bang nhau. Lisp khong thuc hien duoc")
)
(princ)

)

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

@Tue_VN: lisp chạy okie rùi, thanks bạn rất nhiều :)

@phamthanhbinh: lisp csn của bạn ý tưởng quét hàng 1 của bảng 1 và 2 khá hay, nhưng có nhược điểm các text đều phải canh trái và nên có giới hạn dưới của 2 bảng vì có thể vẫn có những text nằm dưới bảng nhưng không thuộc bảng mình cần đổi :D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nếu sửa như cách của bác Bình thì có thể lại áp dụng không đúng trong 1 số trường hợp nữa đó bác Bình ạ

Bạn hdt4151, bác Bình hãy thử lại với đoạn Code này. Tue_NV viết lại nhé:

Hề hề hề,

Bác Tue_nv ơi, mình đã nói là chỉ đối với trường hợp cụ thể của bạn hdt4151 post lên thôi mà.

Thực ra với các text mà đã sử dụng căn lề thì mình nghĩ nó khá loằng ngoằng và phải phân biệt từng trường hợp căn lề cụ thể dựa trên mã dxf 71, 72, 73 mới có thể xếp cho nó chuẩn được. Song ngại tách các trường hợp quá, mà đa phần thì mỗi người thường có một cách xài riêng nên thôi thì cứ túm vào cái cụ thể của các bạn pót lên để làm cho nó nhanh. Việc xử lý với các trường hợp riêng biệt khác thì để các bạn ấy ngâm cứu và chỉnh sửa theo yêu cầu riêng của mỗi bạn sẽ tốt hơn cho cả các bạn ấy và cái lười cố hữu của mình.

Hề hề hề....

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Hề hề hề,

Bác Tue_nv ơi, mình đã nói là chỉ đối với trường hợp cụ thể của bạn hdt4151 post lên thôi mà.

Thực ra với các text mà đã sử dụng căn lề thì mình nghĩ nó khá loằng ngoằng và phải phân biệt từng trường hợp căn lề cụ thể dựa trên mã dxf 71, 72, 73 mới có thể xếp cho nó chuẩn được. Song ngại tách các trường hợp quá, mà đa phần thì mỗi người thường có một cách xài riêng nên thôi thì cứ túm vào cái cụ thể của các bạn pót lên để làm cho nó nhanh. Việc xử lý với các trường hợp riêng biệt khác thì để các bạn ấy ngâm cứu và chỉnh sửa theo yêu cầu riêng của mỗi bạn sẽ tốt hơn cho cả các bạn ấy và cái lười cố hữu của mình.

Hề hề hề....

Bác Bình đọc kỹ lại code của Tue_NV xem. Bài viết số 2540

Em đã viết lại và có thể áp dụng cho các trường hợp căn chỉnh nhưng không hề sử dụng tới mã DXF 71, 72, 73

Bác đọc kỹ lại sẽ rõ mà

Chúc bác vui.

 

Phạm vi sử dụng của Lisp đó là :

- Các cột không được xen lẫn với nhau, cột nào ra cột đó, các cột không được "đan xen" vào nhau. Còn căn chỉnh thì dễ chịu lắm : thế nào cũng được.

Chỉ có vậy thôi bạn hdt à. Bạn cứ thử xem nhé.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Về trình độ lisp thì em quá gà. Các bác gúp đỡ em viết 2 cái lisp rất đơn giản thế này thôi nhé

1. vẽ hình chữ nhật: khi thực hiện lênh chương trình hỏi nhập chiều rộng (enter), nhập chiều dài (enter), sau đó pic 1 điểm -> vẽ hinh CN đó

2. vẽ hình tròn: khi thực hiện lênh chương trình hỏi nhập bán kính (enter), sau đó pic 1 điểm -> vẽ hinh tròn đó

 

thanks các cao thủ trước nha!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Về trình độ lisp thì em quá gà. Các bác gúp đỡ em viết 2 cái lisp rất đơn giản thế này thôi nhé

1. vẽ hình chữ nhật: khi thực hiện lênh chương trình hỏi nhập chiều rộng (enter), nhập chiều dài (enter), sau đó pic 1 điểm -> vẽ hinh CN đó

2. vẽ hình tròn: khi thực hiện lênh chương trình hỏi nhập bán kính (enter), sau đó pic 1 điểm -> vẽ hinh tròn đó

 

thanks các cao thủ trước nha!!

 

1. Vẽ hình vuông và hình chữ nhật

2. Mình thấy Líp đâu có nhanh hơn lệnh đâu bạn????

 

; Ve hinh vuong: HV. Ve hinh chu nhat: HCN. Ve hinh tron : HT
;nguyentuyen6 @ CadViet
;=====================================================
(defun c:hcn (/ dx dy pt1 pt2 ptg)
(command "undo" "be")
(setq OldEcho (getvar "cmdecho")) 
(setvar "cmdecho" 0)
       (setq ptg (getpoint "\nDiem dat:"))
        (setq dx (getreal "\nRong:"))
        (setq dy (getreal "\nDai:"))
(setq pt1 (polar ptg pi dx))
(setq pt2 (polar pt1 (/ pi 2) dy))
(setq ptc (acet-geom-midpoint ptg pt2))
  (reset)
(command ".rectang" ptg pt2)
(command ".move" (entlast) "" ptc ptg)
  (reset1)
(setvar "cmdecho" OldEcho)
(command "undo" "e")
        (princ)
  )
;=====================================================
(defun c:hv (/ dx pt1 pt2 ptc)

(command "undo" "be")
(setq OldEcho (getvar "cmdecho")) 
(setvar "cmdecho" 0)

       (setq ptg (getpoint "\nDiem dat:"))
;        (setq dx (getreal "\nDai canh:"))

(setq
 daicanhhv (cond (daicanhhv) (220))
 daicanhhvold daicanhhv
 daicanhhv   (getreal (strcat "\nDai canh <"(rtos daicanhhvold 2 0)">: ")))
(if (= daicanhhv nil) (setq daicanhhv daicanhhvold))



(setq pt1 (polar ptg pi daicanhhv))
(setq pt2 (polar pt1 (/ pi 2) daicanhhv))
(setq ptc (acet-geom-midpoint ptg pt2))
  (reset)
(command ".rectang" ptg pt2)
(command ".move" (entlast) "" ptc ptg)
  (reset1)
(setvar "cmdecho" OldEcho)
(command "undo" "e")
        (princ)
  )
;=====================================================
(defun c:ht (/ bankinh)
(setq bankinh (getreal "\nBan kinh:"))
(reset)
(command ".circle" (getpoint "\nDat Tam:") bankinh)
(reset1)
(princ)
)
;=====================================================
  (defun reset()
    (setq old_osm (getvar "osmode"))
    (setvar "osmode" 0)
    )
;---------------------------------------
    (defun reset1()
    (setvar "osmode" old_osm)
   )

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Diễn đàn có thể giúp xây dựng thuộc toán hoặc viết lisp (càng tốt) xác định trọng tâm của 1 đa giác bất kỳ không ạ?

Đã thấy có người hỏi vấn đề này nhưng ở topic khác http://www.cadviet.com/cadtips/11551_Tim_trong_tam_cua_1_hinh_da_giac/116/

Mong được mọi người quan tâm. Xin cảm ơn!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Diễn đàn có thể giúp xây dựng thuộc toán hoặc viết lisp (càng tốt) xác định trọng tâm của 1 đa giác bất kỳ không ạ?

Đã thấy có người hỏi vấn đề này nhưng ở topic khác http://www.cadviet.com/cadtips/11551_Tim_trong_tam_cua_1_hinh_da_giac/116/

Mong được mọi người quan tâm. Xin cảm ơn!

Bạn có thể dùng code sau để lấy trọng tâm của đa giác

(setq tam (vlax-safearray->list (vlax-variant-value (vla-get-Centroid (vlax-ename->vla-object (car (entsel)))))))

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn có thể dùng code sau để lấy trọng tâm của đa giác

(setq tam (vlax-safearray->list (vlax-variant-value (vla-get-Centroid (vlax-ename->vla-object (car (entsel)))))))

B/S: bạn phải chuyển da giác về region trước.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn có thể dùng code sau để lấy trọng tâm của đa giác

(setq tam (vlax-safearray->list (vlax-variant-value (vla-get-Centroid (vlax-ename->vla-object (car (entsel)))))))

Hề hề hề ,

Bác Phamngoctukts xem lại giùm cái hàm (vla-get-centroid .....) với bác nhé, Vì sao trong Cad 2004 đã có express tool mà nó vẫn báo:

; error: ActiveX Server returned the error: unknown name: Centroid

bác ạ???

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Hề hề hề ,

Bác Phamngoctukts xem lại giùm cái hàm (vla-get-centroid .....) với bác nhé, Vì sao trong Cad 2004 đã có express tool mà nó vẫn báo:

; error: ActiveX Server returned the error: unknown name: Centroid

bác ạ???

 

Cảm ơn anh phamthanhbinh, Phamngoctukts đã quan tâm.

Em dùng Cad2007, cũng đã cài express tool. Kết quả giống hệt như anh phamthanhbinh phản ảnh!

Anh Phamngoctu xem lại dùm với.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cảm ơn anh phamthanhbinh, Phamngoctukts đã quan tâm.

Em dùng Cad2007, cũng đã cài express tool. Kết quả giống hệt như anh phamthanhbinh phản ảnh!

Anh Phamngoctu xem lại dùm với.

 

 

Hi, Xin lỗi anh Phamngoctu.

Em làm được rồi. VÌ không đọc reply kế tiếp của anh.

Sau khi chuyển về region thì ngon lành. Cảm ơn anh nhiều.

Nhưng mà sao trong Help không thấy hàm vla-get-Centroid các anh nhỉ?

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Hề hề hề ,

Bác Phamngoctukts xem lại giùm cái hàm (vla-get-centroid .....) với bác nhé, Vì sao trong Cad 2004 đã có express tool mà nó vẫn báo:

; error: ActiveX Server returned the error: unknown name: Centroid

bác ạ???

Bác Bình thử cái này :

(defun c:ttam(/ e tam)
 (setq e (car (entsel "\n Pick chon da giac Polyline : ")))
 (if (vlax-curve-isClosed e)
   (progn
       (command "copy" e "" '(0 0 0) "@")
       (command "region" e "")
       (setq tam (vlax-safearray->list (vlax-variant-value (vla-get-Centroid (vlax-ename->vla-object (entlast))))))
       (command "erase" (entlast) "")
       (command "point" tam)
   )
   (alert "\n Da giac khong kin :")
 )
 (setvar "pdmode" 2)
 (alert (strcat "Toa do tam cua da giac la : " (vl-princ-to-string tam)))
)

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nói chung là vẫn đếch hiểu được ý của bạn. Vì file bạn up lên thì toạ độ các point bạn muốn lấy đều bằng 0 hết (các đường polyline có toạ độ z=0). Nếu bạn muốn người khác hiểu được ý của bạn thì bạn nên trình bày rõ ràng hơn. bạn nên phân rõ phần ban đầu và phần sau khi bạn muốn thực hiện.

Đây là file CAD mà e yêu cầu! Nhở mọi người giúp đỡ

Thanks!

http://www.cadviet.com/upfiles/3/cadviet_4.dwg

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Đây là file CAD mà e yêu cầu! Nhở mọi người giúp đỡ

Thanks!

http://www.cadviet.com/upfiles/3/cadviet_4.dwg

Chào bạn vothanhdn,

Để xác định được cao độ của các điểm giao cắt, bạn phải dựa vào cao độ của các đường đồng mức sẵn có, đồng thời phải biết được quy luật nội suy cao độ của bạn cho từng khu vực mới có thể làm đuợc bạn ạ. Theo mình hiểu thì có nhiều phương pháp nội suy cao độ khác nhau. Bạn không đưa ra phương pháp nội suy của bạn thì chắc gì người làm lisp sẽ cho ra kết quả đúng như bạn yêu cầu????

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Chào bạn vothanhdn,

Để xác định được cao độ của các điểm giao cắt, bạn phải dựa vào cao độ của các đường đồng mức sẵn có, đồng thời phải biết được quy luật nội suy cao độ của bạn cho từng khu vực mới có thể làm đuợc bạn ạ. Theo mình hiểu thì có nhiều phương pháp nội suy cao độ khác nhau. Bạn không đưa ra phương pháp nội suy của bạn thì chắc gì người làm lisp sẽ cho ra kết quả đúng như bạn yêu cầu????

Theo Tue_NV hiểu nội suy tuyến tính bác ạ

Điểm A có cao độ Za

Điểm B có cao độ Zb

Nội suy cao độ Zc với C nằm giữa A với B

 

Ta hoàn toàn nội suy được theo quy luật ve sự đồng dạng

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Khách
Chủ đề này bây giờ đã bị đóng lại để trả lời thêm.

×