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

nội suy cao độ đường cong

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

Em cứ tưởng nói thế là dễ với bác chứ, thực sự em cũng chả biết vẽ thế nào cho dễ hiểu cả. Nhưng bác đoán đúng ý em rồi đó.

Ý em là có 1 text cao độ rồi, em muốn tìm cao độ xung quanh nó khi biết độ dốc. Điểm mới này có thể là bất kỳ, hoặc theo hướng của nàng chuột đang đứng với 1 khoảng cách mình thích.

Nửa phát của em lợi hại bác nhỉ

Hề hề hề,

Cái lợi hại của bạn có phải là cái ni không hỉ????

(defun c:gcd ( / oldos txt goc p1 dd sole pt d h )
(vl-load-com)
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq txt (car (entsel "\n Chon text cao do goc"))
         goc (atof (cdr (assoc 1 (entget txt ))))
         p1 (cdr (assoc 10 (entget txt)))
         dd (getreal "\n Nhap gia tri do doc tinh theo phan tram: ")
         sole (getint "\n Chon so chu so thap phan ma ban khoai: ")
         pt (getpoint p1 "\n Chon diem can noi suy: ")
)
(while pt
       (setq d (distance p1 pt)
                 h (* d (/ dd 100)))
       (command "text" pt 2 0 (rtos (+ goc h) 2 sole) )
       (setq pt (getpoint p1 "\n Chon diem ke tiep: "))
)
(setvar "osmode" oldos)
(princ)
)

 

Với cái ni khi lisp yêu cầu bạn "Chon diem can noi suy" hoặc "Chon diem ke tiep", bạn có thể dùng cách pick điểm trên màn hình hay di chuột và nhập khoảng cách mà bạn mong muốn, lisp sẽ lấy điểm theo đúng yêu cầu của bạn.

Trường hợp bạn muốn nội suy các diểm có cao độ nhỏ hơn cao độ điểm gốc thì bạn phải nhập giá trị độ dốc theo phần trăm là một số âm bạn nhé.

Hãy dùng thử và cho biết ý kiến phản hồi bạn nhé.

Chúc bạn luôn đã con mắt bên phải, sướng con mắt bên trái hỉ.

  • Vote tăng 5

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

Quá tuyệt, đã và sướng luôn cả mắt kính. Bác viết lisp mà cứ như có sẵn ấy nhỉ.

Thực ra mất có nửa phát thôi vì bác hiểu "bậy" mà đúng ý em. kha kha

Thanks bác nhiều. Mà thanks ở chỗ nào nhỉ.

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

Quá tuyệt, đã và sướng luôn cả mắt kính. Bác viết lisp mà cứ như có sẵn ấy nhỉ.

Thực ra mất có nửa phát thôi vì bác hiểu "bậy" mà đúng ý em. kha kha

Thanks bác nhiều. Mà thanks ở chỗ nào nhỉ.

Chỗ dấu "+" màu xanh ấy. Bác ấy giúp bạn quá nhiệt tình, vận động thêm vài người thanks nữa mới xứ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

Nhờ bác phamthanhbinh xem lại dùm em. Cái lisp nscdpl của bác có vấn đề như thế này: bản vẽ cad kèm theo http://www.mediafire.com/?y36b5lpdcycwqa2

giả sử em có một đường cong hai đầu: đầu 1 có text cao độ là 22.95, đầu 2 có text cao độ là 23.17

em dùng lisp của bác:

nếu em chọn text chỉ cao độ điểm đầu là 22.95 và điểm cuối là 23.17 thì nó nội suy đúng y chan

nhưng ngược lại nếu chọn text cao độ điểm đầu là 23.17 thì nó nội suy trật lất.

Mong bác bớt chút thời gian xem lại để mình không cần quan tâm đầu nào là đầu 1, đầu 2 gì hết cứ chọn pl text thứ 1, text thứ 2 (chọn vô tư nha) rồi pick điểm cần nội suy là ra. 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

có ai không sửa giúp mình với.

Sửa được, nhưng chắc bác PTB đang nghỉ tết dài ngày ở đâu đó thôi. Bạn thấy còn có y/c gì nữa thì nêu lên để mầm 1 lần luôn, chứ mần rồi thì không mần lại như cái vẽ độ dốc hôm nọ nhé!

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

Em nói cho anh Hà thông cảm. Với kiến thức hạn chế như em về lisp mà bảo là post một lần cho rõ ràng hết yêu cầu thì khó quá, nên em đề suất là sai đâu thì sửa đó, chưa phù hợp chỗ nào nâng cấp dần dần. Mặc dù biết là mệt cho anh và khổ vì phải chờ như em. Nên chắc là phải chịu khó thôi.

Còn về yêu cầu thì đây: Cái lisp thì ngon rồi nhưng còn một tí nữa là xong anh xem dùm:

" bản vẽ cad kèm theo http://www.mediafire.com/?arukglmuc6b726u

giả sử em có một đường cong hai đầu: đầu 1 có text cao độ là 22.95, đầu 2 có text cao độ là 23.17

em dùng lisp của bác:

nếu em chọn text chỉ cao độ điểm đầu là 22.95 và điểm cuối là 23.17 thì nó nội suy đúng y chan

nhưng ngược lại nếu chọn text cao độ điểm đầu là 23.17 thì nó nội suy trật lất.

Mong bác bớt chút thời gian xem lại để mình không cần quan tâm đầu nào là đầu 1, đầu 2 gì hết cứ chọn pl text thứ 1, text thứ 2 (chọn vô tư nha) rồi pick điểm cần nội suy là ra. Cảm ơn. " em trích dẫn bài đã đăng. (chỗ khoanh tròn) còn đây là lisp của bác Bình: http://www.mediafire.com/?vw4b4mxj2d4bktg

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

Em nói cho anh Hà thông cảm. Với kiến thức hạn chế như em về lisp mà bảo là post một lần cho rõ ràng hết yêu cầu thì khó quá, nên em đề suất là sai đâu thì sửa đó, chưa phù hợp chỗ nào nâng cấp dần dần. Mặc dù biết là mệt cho anh và khổ vì phải chờ như em. Nên chắc là phải chịu khó thôi.

Còn về yêu cầu thì đây: Cái lisp thì ngon rồi nhưng còn một tí nữa là xong anh xem dùm:

" bản vẽ cad kèm theo http://www.mediafire.com/?arukglmuc6b726u

giả sử em có một đường cong hai đầu: đầu 1 có text cao độ là 22.95, đầu 2 có text cao độ là 23.17

em dùng lisp của bác:

nếu em chọn text chỉ cao độ điểm đầu là 22.95 và điểm cuối là 23.17 thì nó nội suy đúng y chan

nhưng ngược lại nếu chọn text cao độ điểm đầu là 23.17 thì nó nội suy trật lất.

Mong bác bớt chút thời gian xem lại để mình không cần quan tâm đầu nào là đầu 1, đầu 2 gì hết cứ chọn pl text thứ 1, text thứ 2 (chọn vô tư nha) rồi pick điểm cần nội suy là ra. Cảm ơn. " em trích dẫn bài đã đăng. (chỗ khoanh tròn) còn đây là lisp của bác Bình: http://www.mediafire...vw4b4mxj2d4bktg

Đây bạn Quoc93!

;Writen by PTB, changed by DVH (03/01/2012).
;Noi suy cao do tung diem tren Curve theo 2 Text cao do dau va cuoi Curve.
;Thu tu cua Text co the chon bat ky.
(defun c:nscdpl (/ pl oldos obj enta entb ha ha pa pb p1 p2 pllength pl1 sole hd hc pt hp)
(vl-load-com)
(setq oldos (getvar "osmode"))
(command "undo" "be")
(setq pl (car (entsel "\nChon Curve can noi suy cao do: "))
     	obj (vlax-ename->vla-object pl)
     	enta (car (entsel "\nChon Text cao do thu 1: "))
     	entb (car (entsel "\nChon Text cao do thu 2: "))
     	ha (atof (cdr (assoc 1 (entget enta))))
     	hb (atof (cdr (assoc 1 (entget entb))))
     	pa (cdr (assoc 10 (entget enta)))
     	pb (cdr (assoc 10 (entget entb)))
     	p1 (vlax-curve-getStartPoint obj)
     	p2 (vlax-curve-getEndPoint obj)
     	pllength (vlax-curve-getdistatpoint obj (vlax-curve-getendpoint obj)))
(or *sole* (setq *sole* 2))
(setq sole (getint (strcat "\nSo chu so thap phan ban khoai <" (itoa *sole*) ">: ")))
(if (not sole) (setq sole *sole*) (setq *sole* sole))
(if (< (distance p1 pa) (distance p1 pb))
 (setq hd ha hc hb)
 (setq hd hb hc ha))
(princ "\nLan luot chon cac diem can noi suy thuoc Curve...")
(while (setq pt (getpoint "\nChon diem: "))
 (setq pl1 (vlax-curve-getdistatpoint obj pt)
       	hp (+ hd (* (- hc hd) (/ pl1 pllength))))
 (command "text" pt 2 0 (rtos hp 2 sole)))
(command "undo" "end")
(setvar "osmode" oldos)
(princ))

  • 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

Nhờ anh em sửa dùm cái lisp của anh bình với:

Đây là lisp của anh bình: http://www.cadviet.com/upfiles/3/103856_gcd.lsp.

Mục đích cảu lisp này là tính cao khi đã biết dộ dốc và cao độ một điểm.

Giả sử em có một đường thẳng trong đó đã biết cao độ một đầu là 23.950 và dộ dốc của đường thẳng là 0.45% như hình vẽ kèm theo Em muón tìm cao độ tại điểm khoan tròn. Lisp của anh bình đã làm được điều này tuy nhiên có một số yêu càu nhỏ:

- Khi dùng lisp này thì nó mất chế dộ bắt dính nên rất mệt.

- Nếu bản vẽ mình có tỉ lệ là 1/200 (như trong bản vẽ thì tính cao là không đúng).

Bản vẽ cad kèm theo : http://www.mediafire...3sj01266j2yw36a

Vị trí em nó đến được khoanh lại như trong bản vẽ.

(Nếu ý tưởng này làm được đối với đường cong thì rất ok)

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

Nhờ anh em sửa dùm cái lisp của anh bình với:

Đây là lisp của anh bình:http://www.cadviet.com/upfiles/3/103856_gcd.lsp.

Mục đích cảu lisp này là tính cao khi đã biết dộ dốc và cao độ một điểm.

Giả sử em có một đường thẳng trong đó đã biết cao độ một đầu là 23.950 và dộ dốc của đường thẳng là 0.45% như hình vẽ kèm theo Em muón tìm cao độ tại điểm khoan tròn. Lisp của anh bình đã làm được điều này tuy nhiên có một số yêu càu nhỏ:

- Khi dùng lisp này thì nó mất chế dộ bắt dính nên rất mệt.

- Nếu bản vẽ mình có tỉ lệ là 1/200 (như trong bản vẽ thì tính cao là không đúng).

Bản vẽ cad kèm theo :http://www.mediafire.com/?3sj01266j2yw36a

Vị trí em nó đến được khoanh lại như trong bản vẽ.

(Nếu ý tưởng này làm được đối với đường cong thì rất ok)

Sao bạn không nhờ bác PTB sửa nhỉ? Bác ấy đang online đấy. Bác ấy viết lisp thì sửa lisp tốt hơn tôi rất nhiều. Hãy đợi bác ấy đi đã nhé!

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

Nhờ anh em sửa dùm cái lisp của anh bình với:

Đây là lisp của anh bình: http://www.cadviet.c...103856_gcd.lsp.

Mục đích cảu lisp này là tính cao khi đã biết dộ dốc và cao độ một điểm.

Giả sử em có một đường thẳng trong đó đã biết cao độ một đầu là 23.950 và dộ dốc của đường thẳng là 0.45% như hình vẽ kèm theo Em muón tìm cao độ tại điểm khoan tròn. Lisp của anh bình đã làm được điều này tuy nhiên có một số yêu càu nhỏ:

- Khi dùng lisp này thì nó mất chế dộ bắt dính nên rất mệt.

- Nếu bản vẽ mình có tỉ lệ là 1/200 (như trong bản vẽ thì tính cao là không đúng).

Bản vẽ cad kèm theo : http://www.mediafire...3sj01266j2yw36a

Vị trí em nó đến được khoanh lại như trong bản vẽ.

(Nếu ý tưởng này làm được đối với đường cong thì rất ok)

Hề hề hề,

Có vài điều cần trao đổi với bạn:

1/- Về cách post bài: Bạn nên paste các đường link sau một khoảng trắng để người đọc dễ dàng truy cập. Hoắc là tốt nhất nên đặt các đường link trên một dòng riêng biệt bạn nhé.

2/- Việc mình tắt các truy bắt điểm trong quá trình chạy lisp là để tránh các lỗi truy bắt nhầm. Bạn hoàn toàn có thể chọn lại các truy bắt này nếu bạn thấy nó phù hợp với yêu cầu của bạn mỗi khi lisp yêu cầu bạn chọn điểm. Tuy có vẻ bất tiện cho bạn nhưng có lẽ nó không phải là điều thừa. bạn sử dụng nhiều sẽ quen cách dùng này mà thôi.

3/- về cái khó khăn thứ hai - Nếu bản vẽ mình có tỉ lệ là 1/200 (như trong bản vẽ thì tính cao là không đúng). thực tình mình chưa rõ ý bạn. Rất mong bạn nói rõ hơn để mình có thể khắc phục.

4/- Về yêu cầu cuối cùng: (Nếu ý tưởng này làm được đối với đường cong thì rất ok), Thực tình mình nghĩ là bạn chưa hiểu đúng về cái lisp mình viết rồi

Cái lisp này dùng để nỗi suy cao độ của một điểm bất kỳ nào đó xung quanh cái điểm đã có cao độ xác định được viết ra bằng text trên bản vẽ. Nó không quan tâm cái điểm chọn thứ hai nằm trên đường thẳng hay cong nào cả mà chỉ quan tâm tới cái khoảng cách từ điểm chọn thứ hai này tới điểm chọn trước là bao xa và độ dốc mà người dùng nhập vào để tính ra cái cao độ tại đây và ghi lên bản vẽ mà thôi. (Bạn đọc kỹ cái yêu cầu của chủ thớt để hiểu cái lisp mình viết ra làm gì nhé)

Vì thế nên nếu bạn nói là làm với đường cong thì bạn nên cho biết cụ thể hơn là làm như thế nào thì mình mới có thể giúp được bạn ạ.

 

Rất mong bạn đọc kỹ và hiểu những điều mình nói ở trên để có được những yêu cầu chính xác và cụ thể về cái bạn cần.

 

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

TL 1/200 có nghĩa là như thế này: Ví dụ em có 1 đoạn thẳng dài 1m thì trong bản vẽ em sẽ vẽ 1000/200=5 đơn vị tức là đổi ra mm sau đó chia cho 200 thì ra đơn vị mình vẽ. Có thể là khái niệm về tl của em chưa đúng nhưng trong bản vẽ là em vẽ như thế.

Chiều dài của anh là theo đường thẳng, nếu là chiều dài theo đường cong thì ok ( nếu anh viết được thì tốt không được cũng không sao)

Để biết thêm anh xem trong bản vẽ, có gì anh làm trên đó luôn. Phần mà em khoanh lại . trong đó có giá trị 24.041 là giá trị em đã tính tay theo độ dốc 0.45% với cao độ gốc là 23.950. anh thêm luôn chế độ bắt dính

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

Em nói cho anh Hà thông cảm. Với kiến thức hạn chế như em về lisp mà bảo là post một lần cho rõ ràng hết yêu cầu thì khó quá, nên em đề suất là sai đâu thì sửa đó, chưa phù hợp chỗ nào nâng cấp dần dần. Mặc dù biết là mệt cho anh và khổ vì phải chờ như em. Nên chắc là phải chịu khó thôi.

Bạn quoc93 xem lại đoạn này nhé :)

 

Chiều dài của anh là theo đường thẳng, nếu là chiều dài theo đường cong thì ok (đây là yêu cầu thêm nếu không được cũng không sao)

Để biết thêm anh xem trong bản vẽ, có gì anh làm trên đó luôn. Phần mà em khoanh lại . trong đó có giá trị 24.041 là giá trị em đã tính tay theo độ dốc 0.45% với cao độ gốc là 23.950. anh thêm luôn chế độ bắt dính

 

Bạn đang nhờ đấy bạn quoc93 ạ ^^

  • 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

TL 1/200 có nghĩa là như thế này: Ví dụ em có 1 đoạn thẳng dài 1m thì trong bản vẽ em sẽ vẽ 1000/200=5 đơn vị tức là đổi ra mm sau đó chia cho 200 thì ra đơn vị mình vẽ. Có thể là khái niệm về tl của em chưa đúng nhưng trong bản vẽ là em vẽ như thế.

Chiều dài của anh là theo đường thẳng, nếu là chiều dài theo đường cong thì ok ( nếu anh viết được thì tốt không được cũng không sao)

Để biết thêm anh xem trong bản vẽ, có gì anh làm trên đó luôn. Phần mà em khoanh lại . trong đó có giá trị 24.041 là giá trị em đã tính tay theo độ dốc 0.45% với cao độ gốc là 23.950. anh thêm luôn chế độ bắt dính

Hề hề hề,

Rất xin lỗi phải làm phiền bạn, xong mình thực tình không hiểu bạn tính toán bằng tay như thế nào để có thể ra được cái con số 24.041 như trên bản vẽ bạn đã ghi. Cứ theo cái độ ngu của mình mà xét thì thấy rằng : 1/- Bạn đã tính nhầm

2/- Cái máy tính của bạn và cái máy tính của mình nó tính toán theo kiểu khác nhau chăng.

Bởi vì căn cứ vào bản vẽ của bạn đã post mình dùng chính cái dimstyle hiện hành của bạn là TL200 để dim cái khoảng cách từ điểm gốc có cao độ 23.950 tới điểm bạn ghi kích thước 24.041 thì được kích thước là 2033. Căn cứ vào cái Scale factor của dim style TL200 là 20 thì cái kích thước thực sự bạn đã vẽ là 2033/20=101.65 (bỏ qua sai số tính toán của máy tinh nếu có).Vậy với độ dốc 0.45% thì độ chênh cao giữa hai điểm này sẽ là : 101.65 * 0.45% = 0.457425. Do đó cao độ tại điểm cần ghi kích thước phải là: 23.950 + 0.457425 = 24.407425 và nếu bạn lựa chọn ghi text với 3 chữ số thập phân sau dấu chấm thì nó phải là 24.407 mới là đúng.

Và nếu vậy thì kết quả này so với cái kết quả của lisp gcd chạy ra chả có gì sai cả bạn ạ.

Rất mong bạn hãy kiểm tra lại chính cái bản vẽ của bạn có đúng với cái bạn muốn vẽ hay không??? Cái sự hiểu của bạn về cách nội suy cao độ có đúng với cái cách mình hiểu hay không??? Cái máy tính của bạn có dùng phương pháp tính chi đặc biệt hơn hay không??? Và quá trình tính toán của bạn có chi nhầm lẫn hay không nhé........

 

Về cái ý: nếu là chiều dài theo đường cong của bạn cần phải nói cho rõ hơn là theo đường cong nào chứ ??? Vì như mình đã nói ở bài trước là lisp này đâu có quan tâm tới cái điểm đó nằm trên đường thẳng hay cong nào đâu???? Nay bạn muốn quan tâm tới cái đường chứa điểm này thì bạn phải cho biết cách xác định cái đường ấy chứ nhỉ???? Trên bản vẽ có biết bao nhiêu là đường, làm sao có thể bảo cho lisp nó biết là nó cần xác định khoảng cách giữa hai điểm bạn cần theo chiều dài của đường cong nào nhỉ??? Nhất là khi cái điểm đó lại là giao điểm của nhiều đường thẳng hay cong nữa thì chỉ có....... bạn mới biết mà thôi. Lisp nó điếc rồi????

Hề hề hề,....

 

Về cái ý ( nếu anh viết được thì tốt không được cũng không sao) của bạn thật tình là rất trẻ con. Không đáng là người làm kỹ thuật. Bởi vì nếu bạn đã cần mà không có cũng được thì hóa ra là bạn cần cái giời ơi à??? Còn nếu bạn đã không cần thì post yêu cầu lên để đố chơi cho người khác mất thời gian nghĩ còn bạn ngồi vỗ tay chờ kết quả à???? Và rồi kết quả ấy bạn cho vào sọt rác và chửi cha thằng nào ngu làm ra nó ư????

 

Về cái ý anh thêm luôn chế độ bắt dính mình đã trả lời lý do ở bài trước và mình sẽ chả thêm vô làm chi cho mất công sửa nữa cả. Mong bạn hãy lưu ý trong quá trình sử dụng nếu muốn dùng nó. Rất nhiều trường hợp lisp đã chạy lỗi khi đặt chế độ osnap không đúng, Vì thế đó là cách tốt nhất để tránh lỗi truy bắt theo cái độ ngu của mình biết. Cẩn tắc thêm áy náy nên mình cứ chơi vậy cho nó lành bạn ạ.

 

Vài điều không lọt tai, mong bạn hãy cẩn trọng suy nghĩ kỹ trước khi post những vấn đề bạn cần biết lên diễn đàn< hãy làm sao để người đọc có thể hiểu đúng và chính xác cái bạn cần thì mới mong có kết quả như ý. Bằng không việc bạn làm sẽ mãi mãi là vô nghĩa vì chả được cái kết quả chi có lợi cả.

 

Hề hề hề,

Chúc bạn vui khi tham gia diễn đàn....

  • 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

Mình bàn từng ý đi: khoảng cách anh đo được là 2033 là đúng rồi nhưng đơn vị của nó là cm đổi ra m là 20.33. Với độ dốc 0.45% thì 0.0045*20.33=0.091485. Độ dốc hướng xuống nên cộng thêm 0.091485 + 23.950 =24.041485 . Mong anh xem lại dùm

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

Mình bàn từng ý đi: khoảng cách anh đo được là 2033 là đúng rồi nhưng đơn vị của nó là cm đổi ra m là 20.33. Với độ dốc 0.45% thì 0.0045*20.33=0.091485. Độ dốc hướng xuống nên cộng thêm 0.091485 + 23.950 =24.041485 . Mong anh xem lại dùm

Hề hề hề,

Xin hỏi khí không phải là bạn đi làm được bao lâu rồi???? Thâm niên nghề nghiệp của bạn chừng bao nhiêu chục con giáp???? Bạn vẽ trên CAD từ trước tới nay vẫn theo kiểu như bạn hiểu vậy sao???

Nếu quả là vậy thì bạn nên học lại những kiến thức cơ bản để sử dụng khi vẽ đi nhé.

Kích thước thực dùng để vẽ phải luôn là kích thước bạn dim được chia cho hệ số tỷ lệ bạn sử dụng trong cái dimstyle đó chứ??? Tại sao bạn lại hiểu theo kiểu râu ông nọ cắm nhầm vào cằm bà kia như vậy????

Bạn hiểu vậy thì đến 99% là bản vẽ của bạn sẽ sai tít mù mà có giời mới kiểm soát nổi bạn ạ.....

Rất mong bạn bình tĩnh xem xét lại vấn đề của mình bạn nhé. nếu bạn chưa hiểu được đúng vấn đề thì có vẽ đến tết Công gô cũng vẫn cứ sai mà thôi.....

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

Có thể là em chưa hiểu gì về tỉ lệ bản vẽ nhưng em nhờ anh viết dùm cái lisp với cái đề bài đấy. Đợt trước anh Hà cũng đã bảo em về vấn đề này nhưng cuối cùng anh ấy vẫn giúp được (anh xem cái lisp tính độ dốc của anh Hà). 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

Có thể là em chưa hiểu gì về tỉ lệ bản vẽ nhưng em nhờ anh viết dùm cái lisp với cái đề bài đấy. Đợt trước anh Hà cũng đã bảo em về vấn đề này nhưng cuối cùng anh ấy vẫn giúp được (anh xem cái lisp tính độ dốc của anh Hà). Cảm ơn

Hề hề hề,

Rất xin lỗi bạn vì không thể giúp được bạn. Cái tư duy của mình không hiểu nổi yêu cầu của bạn và cũng không chấp nhận làm mà chẳng hiểu mình làm gì. Vì thế nếu mình có làm chắc cũng không ra được cái bạn cần.

Thành thật mong bạn thông cảm.

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ó thể là em chưa hiểu gì về tỉ lệ bản vẽ nhưng em nhờ anh viết dùm cái lisp với cái đề bài đấy. Đợt trước anh Hà cũng đã bảo em về vấn đề này nhưng cuối cùng anh ấy vẫn giúp được (anh xem cái lisp tính độ dốc của anh Hà). Cảm ơn

Thế là tôi mắc thêm cái tội đoán mò ý bạn mà bị vạ lây! Đúng là tôi đã đoán mò đúng ý bạn, nhưng bạn đừng bắt người viết lisp tiếp theo cũng đoán mò, tội họ. Mình là dân kỹ thuật, cố gắng nói cái gì cho chắc cái đó. Tôi nghĩ không ai ghét bạn đâu, chỉ là họ khuyên bạn kỹ càng khi post y/c thôi. Hy vọng bạn hiể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

Em nhờ anh làm cái này không biết có được không:

- anh tạo thêm một câu hỏi : tỉ lệ bản vẽ (200): 200

- sau đó trong công thức tính cao độ thì tính như sau: L*i(%)*200/1000

trong đó L:là chiều dài từ điểm gốc từ điểm cần nội suy cao độ

i là độ dốc tính theo %

200 là tỉ lệ bản vẽ.

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

Em nhờ anh làm cái này không biết có được không:

- anh tạo thêm một câu hỏi : tỉ lệ bản vẽ (200): 200

- sau đó trong công thức tính cao độ thì tính như sau: L*i(%)*200/1000

trong đó L:là chiều dài từ điểm gốc từ điểm cần nội suy cao độ

i là độ dốc tính theo %

200 là tỉ lệ bản vẽ.

Cảm ơn.

Không dám đâu! Bác ấy mà giận thì bác ấy quất tôi 1 roi cuống cuồng à? Đợi bác ấy nguôi thì nhờ lại vậy.

@PTB: chín bỏ làm mười. Thôi thì bác cho thêm 1 dòng "Nhập hệ số tuỳ nghi sử dụng" cho khỏi vương vấn tơ lòng, để bạn ấy "cân đối" mà nhập vào vậy.

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ông dám đâu! Bác ấy mà giận thì bác ấy quất tôi 1 roi cuống cuồng à? Đợi bác ấy nguôi thì nhờ lại vậy.

@PTB: chín bỏ làm mười. Thôi thì bác cho thêm 1 dòng "Nhập hệ số tuỳ nghi sử dụng" cho khỏi vương vấn tơ lòng, để bạn ấy "cân đối" mà nhập vào vậy.

Hề hề hề,

Cái nhà bác này thiệt là....... dễ tính.

Thực tình là mình không hiểu nổi cái cách suy luận của bạn ấy nên không dám làm chớ chả phải giận dỗi chi nhau cả. Với cái vốn liếng đi mót của mình trong chừng ấy năm thì cái cách hiểu của bạn ấy quá cao, mình với không tới, mà cố quá thì té gãy cổ như chơi. Còn cái cách hiểu của mình thì mình đã giải trình tường tận nhưng bạn ấy cũng lại không muốn nghe mà cứ muốn suy luận theo cái cách ..... độc chiêu của bạn ấy mới làm mình bí tị đấy chớ.

Giả sử rằng mình cứ máy móc mà làm theo cái bạn ấy gợi ý thì nhỡ khi sử dụng bạn ấy lại chả dùng cái dim style TL200 nữa mà dùng cái dim style TL39000 thì mình biết tính kiểu chi cho nó vừa lòng bạn ấy được hử bác???

Ấy là chưa nói đến việc các bác chuyên ngành nhảy vô phê bình nữa rồi thậm chí cấm cửa chả cho mình chơi chung nữa thì cũng mệt lắm lắm, vì mình vẫn còn muốn đi mót lang thang trên cánh đồng này bác ạ.

Thực lòng mình muốn bạn ấy phải thông cảm và tôn trọng luật chơi chung chớ cứ chơi kiểu chuyên ngành thế này thì có nhẽ cần phải có sân chơi riêng cho bạn ấy thôi chớ mình hổng đủ năng lực "đánh quả" kiểu này đâu.

Đến tận giờ này, mình vẫn không ngộ ra được cái lý có chân của bạn ấy bác ạ. Với cái lý như vậy mà bạn ấy vẫn vẽ được thì quả thật đáng nể phục lắm lắm. Mình đã quên cái thời rút thước tính để mà tính toán các kích thước cần vẽ sao cho nó đúng được cái hình phải vẽ rồi bác ạ. Khổ thế, Vả lại cái kiểu rút của bạn này có nhẽ cũng là một kiểu độc nhất vô nhị (ấy là rút bản vẽ cho nó đúng con số hay sao ấy bác ạ, không tin bác cứ check thử cái bản vẽ mà bạn ấy post lên diễn đàn sẽ rõ )

Vậy nên rất mong bác tha cho cái tội học chửa đến nơi của mình, và cho mình thêm vài chục năm nữa để ngộ cho được cái lý có chân này.....

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ề,

Cái nhà bác này thiệt là....... dễ tính.

Thực tình là mình không hiểu nổi cái cách suy luận của bạn ấy nên không dám làm chớ chả phải giận dỗi chi nhau cả. Với cái vốn liếng đi mót của mình trong chừng ấy năm thì cái cách hiểu của bạn ấy quá cao, mình với không tới, mà cố quá thì té gãy cổ như chơi. Còn cái cách hiểu của mình thì mình đã giải trình tường tận nhưng bạn ấy cũng lại không muốn nghe mà cứ muốn suy luận theo cái cách ..... độc chiêu của bạn ấy mới làm mình bí tị đấy chớ.

Giả sử rằng mình cứ máy móc mà làm theo cái bạn ấy gợi ý thì nhỡ khi sử dụng bạn ấy lại chả dùng cái dim style TL200 nữa mà dùng cái dim style TL39000 thì mình biết tính kiểu chi cho nó vừa lòng bạn ấy được hử bác???

Ấy là chưa nói đến việc các bác chuyên ngành nhảy vô phê bình nữa rồi thậm chí cấm cửa chả cho mình chơi chung nữa thì cũng mệt lắm lắm, vì mình vẫn còn muốn đi mót lang thang trên cánh đồng này bác ạ.

Thực lòng mình muốn bạn ấy phải thông cảm và tôn trọng luật chơi chung chớ cứ chơi kiểu chuyên ngành thế này thì có nhẽ cần phải có sân chơi riêng cho bạn ấy thôi chớ mình hổng đủ năng lực "đánh quả" kiểu này đâu.

Đến tận giờ này, mình vẫn không ngộ ra được cái lý có chân của bạn ấy bác ạ. Với cái lý như vậy mà bạn ấy vẫn vẽ được thì quả thật đáng nể phục lắm lắm. Mình đã quên cái thời rút thước tính để mà tính toán các kích thước cần vẽ sao cho nó đúng được cái hình phải vẽ rồi bác ạ. Khổ thế, Vả lại cái kiểu rút của bạn này có nhẽ cũng là một kiểu độc nhất vô nhị (ấy là rút bản vẽ cho nó đúng con số hay sao ấy bác ạ, không tin bác cứ check thử cái bản vẽ mà bạn ấy post lên diễn đàn sẽ rõ )

Vậy nên rất mong bác tha cho cái tội học chửa đến nơi của mình, và cho mình thêm vài chục năm nữa để ngộ cho được cái lý có chân này.....

Hề hề hề.

Bác 3 Hề ơi!

Màu đỏ: tôi còn phải thức canh để mượn thước nhưng không chắc gì được nữa cơ.

Còn lại: tôi không phải là người dễ tính. Bác theo dõi CV quá biết, tôi là "chuyên gia tranh luận" mà. Tuy nhiên, mà thôi, có gì đó thì tôi sorry bác.

Kết luận: đôi khi vì những chuyện đâu đâu mà mệt cho bác và tôi, bác nhỉ.

Thân thương!

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 bạn Quoc93!

;Writen by PTB, changed by DVH (03/01/2012).
;Noi suy cao do tung diem tren Curve theo 2 Text cao do dau va cuoi Curve.
;Thu tu cua Text co the chon bat ky.
(defun c:nscdpl (/ pl oldos obj enta entb ha ha pa pb p1 p2 pllength pl1 sole hd hc pt hp)
(vl-load-com)
(setq oldos (getvar "osmode"))
(command "undo" "be")
(setq pl (car (entsel "\nChon Curve can noi suy cao do: "))
     	obj (vlax-ename->vla-object pl)
     	enta (car (entsel "\nChon Text cao do thu 1: "))
     	entb (car (entsel "\nChon Text cao do thu 2: "))
     	ha (atof (cdr (assoc 1 (entget enta))))
     	hb (atof (cdr (assoc 1 (entget entb))))
     	pa (cdr (assoc 10 (entget enta)))
     	pb (cdr (assoc 10 (entget entb)))
     	p1 (vlax-curve-getStartPoint obj)
     	p2 (vlax-curve-getEndPoint obj)
     	pllength (vlax-curve-getdistatpoint obj (vlax-curve-getendpoint obj)))
(or *sole* (setq *sole* 2))
(setq sole (getint (strcat "\nSo chu so thap phan ban khoai <" (itoa *sole*) ">: ")))
(if (not sole) (setq sole *sole*) (setq *sole* sole))
(if (< (distance p1 pa) (distance p1 pb))
 (setq hd ha hc hb)
 (setq hd hb hc ha))
(princ "\nLan luot chon cac diem can noi suy thuoc Curve...")
(while (setq pt (getpoint "\nChon diem: "))
 (setq pl1 (vlax-curve-getdistatpoint obj pt)
       	hp (+ hd (* (- hc hd) (/ pl1 pllength))))
 (command "text" pt 2 0 (rtos hp 2 sole)))
(command "undo" "end")
(setvar "osmode" oldos)
(princ))

Nhiều khi e cần chọn 2 điểm đầu và cuối bất kỳ VD: A,B.... nằm trên curve (chứ không phải lúc nào cũng là 2 điểm mút của đường curve) đã có cao độ, rồi nội suy ra cao độ tại 1 điểm nằm giữa 2 điểm được chọn đó (vẫn nằm trên curve). Em thấy lisp này chưa có lựa chọn đó. Mong các bác giúp e bổ sung thêm lựa chọn cho lisp:

111.jpg

1. Chọn điểm mốc thứ nhất

2.Chọn cao độ của mốc thứ nhất (Có thể pick vào text có sẵn hoặc nhập tay vào)

3. Chọn điểm mốc thứ hai

4.Chọn cao độ của mốc thứ hai (Có thể pick vào text có sẵn hoặc nhập tay vào)

(Lisp tự động tính độ dốc giữa 2 điểm A-B: lấy cao độ 2 đầu trừ nhau chia cho chiều dài đoạn AB, AB không phân biệt cong thẳng, chỉ cần lấy chiều dài)

5.Chọn vị trí cần nội suy (xin đừng làm mất chế độ bắt điểm :D)

6.Kết quả nội suy thể hiện trên command

7.Chọn vị trí tiếp theo hoặc thoát lệnh

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

Nhiều khi e cần chọn 2 điểm đầu và cuối bất kỳ VD: A,B.... nằm trên curve (chứ không phải lúc nào cũng là 2 điểm mút của đường curve) đã có cao độ, rồi nội suy ra cao độ tại 1 điểm nằm giữa 2 điểm được chọn đó (vẫn nằm trên curve). Em thấy lisp này chưa có lựa chọn đó. Mong các bác giúp e bổ sung thêm lựa chọn cho lisp:

111.jpg

1. Chọn điểm mốc thứ nhất

2.Chọn cao độ của mốc thứ nhất (Có thể pick vào text có sẵn hoặc nhập tay vào)

3. Chọn điểm mốc thứ hai

4.Chọn cao độ của mốc thứ hai (Có thể pick vào text có sẵn hoặc nhập tay vào)

(Lisp tự động tính độ dốc giữa 2 điểm A-B: lấy cao độ 2 đầu trừ nhau chia cho chiều dài đoạn AB, AB không phân biệt cong thẳng, chỉ cần lấy chiều dài)

5.Chọn vị trí cần nội suy (xin đừng làm mất chế độ bắt điểm :D)

6.Kết quả nội suy thể hiện trên command

7.Chọn vị trí tiếp theo hoặc thoát lệnh

"Em thấy lisp này chưa có lựa chọn đó"

Lisp viết ra là theo y/c của chủ topic, chưa chắc đã phù hợp với y/c của người khác. Vì vậy, nếu bạn cần thì cứ y/c thêm.

Y/c của bạn có thể làm được!

  • 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

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×