Đến nội dung


Hình ảnh
- - - - -

Nhờ lisp vẽ đường SPL dựa theo 2 SPL hoặc PL có sẵn


  • Please log in to reply
13 replies to this topic

#1 dangneo

dangneo

    biết vẽ line

  • Members
  • PipPip
  • 28 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 04 June 2013 - 09:44 AM

Nhờ anh em giúp đỡ, mình phải vẽ mặt cắt địa chất khá nhiều, các lớp đất đá trầm tích nằm theo các phân lớp, vẽ nham thạch vừa lâu, vừa không đẹp. 

Mình nhờ anh em làm hộ một lisp với mục đích như sau:

có 2 đường ( pl hoặc Spl ) nằm trên và dưới.

giữa 2 đường này mình phải vẽ 1 đường spl sao cho nằm giữa 2 đường trên, kèm theo giới hạn đường này sẽ phải đi qua các điểm mình pick.

Ai làm được giúp mình với nhé

Cảm ơn anh em nhiều


  • 0

#2 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 04 June 2013 - 10:28 AM

Nhờ anh em giúp đỡ, mình phải vẽ mặt cắt địa chất khá nhiều, các lớp đất đá trầm tích nằm theo các phân lớp, vẽ nham thạch vừa lâu, vừa không đẹp. 

Mình nhờ anh em làm hộ một lisp với mục đích như sau:

có 2 đường ( pl hoặc Spl ) nằm trên và dưới.

giữa 2 đường này mình phải vẽ 1 đường spl sao cho nằm giữa 2 đường trên, kèm theo giới hạn đường này sẽ phải đi qua các điểm mình pick.

Ai làm được giúp mình với nhé

Cảm ơn anh em nhiều

Similar topics from web:
Cad Nang Cao Rat Hay

Hề hề hề,

Phải gửi bản vẽ minh họa lên thôi, chứ nhòm chữ thấy khó hiểu quá. Đã là "giữa" tức là tại vị trí trung điểm của đoạn cát tuyến cắt đồng thời hai cái đường cho trước ấy, Vậy mà lại còn phải đi qua các điểm cho trước. Thế ngộ nhỡ các điểm cho trước này chả phải là điểm "giữa" ấy thì sao hè????  Ấy là chưa nói tới phương của cát tuyến xác định theo cách chi ??? là pháp tuyến của 1 trong hai đường hay là phương bất kỳ???

Chu choa chỉ đoán thôi cũng thấy hoa mắt rồi. Làm ơn hãy post một bản vẽ mà bạn cần thực hiện, đồng thời có một đoạn ví dụ mà bạn đã làm lên để mọi người đỡ phải xem voi bạn nhé.

Hề hề hề,...


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

#3 dangneo

dangneo

    biết vẽ line

  • Members
  • PipPip
  • 28 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 04 June 2013 - 01:19 PM

http://www.cadviet.c...s/3/120138_t1.d

Mình up file lên rồi đây, trong bản vẽ gồm 2 phần

1. Bản vẽ bên trái là trước khi mình đồng danh đất đá ( nối cùng loại đất đá với nhau )

2. Bản vẽ bên phải: sau khi đồng danh đất đá.

 

Mình vẽ đường đồng danh Nham thạch dựa vào sự uốn lượn của 2 vỉa than nằm trên và dưới, cộng thêm đất đá chính xác đã được khoan trong lỗ khoan.

Lisp mà hoàn thành cần có khả năng chia đều khoảng cách đến 2 đường spl hoặc pl, và được giới hạn bởi những điểm đất đá trong lỗ khoan.


  • 0

#4 dangneo

dangneo

    biết vẽ line

  • Members
  • PipPip
  • 28 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 04 June 2013 - 03:23 PM

Anh em giúp mình với nhé... Thanks trước 


  • 0

#5 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 08 June 2013 - 12:12 PM

Oh. Buồn nhỉ...

Hề hề hề,

Bạn sẽ còn buồn dài dài do cách đặt vấn đề của bạn khiến mọi người đọc mà chưa hiểu bạn muốn cái chi. Chả phải ai cũng giỏi về chuyên môn của bạn để có thể nhìn hình tóm ý của bạn được.

Cái bản vẽ của bạn gửi lên chưa thể hiện được những điều bạn cần, chưa cho người đọc hiểu được cái cách mà bạn đã dùng để vẽ các spline ấy. Vì thế nên có muốn cũng khó có thể giúp bạn được cho dù vẫn biết rằng bạn chưa vui....

Hề hề hề,....


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

#6 dangneo

dangneo

    biết vẽ line

  • Members
  • PipPip
  • 28 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 12 June 2013 - 01:27 PM

Chẳng có ai giúp được, chán thế chứ...


  • 0

#7 dangneo

dangneo

    biết vẽ line

  • Members
  • PipPip
  • 28 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 19 June 2013 - 04:05 PM

http://www.cadviet.c...38_drawing2.dwg

 

Thêm 1 file nữa về cách vẽ, thật khó diễn tả, mong anh em giải quyết vụ này hộ mình với nhé, cảm ơn các bạn nhiều


  • 0

#8 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 19 June 2013 - 05:14 PM

Các câu hỏi:

1). Nếu phía ngoài A và C thì tính như thế nào để vẽ? Hay bỏ qua nó rồi bạn stretch nó ra?

2). Khi 2 đường biên nằm gần song song với trục X thì kết quả có thể khác với khi chúng nằm xiên góc so với trục X đấy nhé!

Hai bản vẽ bạn post lên thì đường biên 1 cặp gần ssong trục X còn 1 cặp xiên góc khá lớn.

3). Kết quả này chỉ tương đối?


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#9 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 20 June 2013 - 09:59 AM

Lisp vẽ đường mặt cắt địa chất (đồng danh đất đá) theo 2 lớp (vỉa) trên/dưới và vị trí chính xác của các lỗ khoan.

Chú ý: lisp chỉ vẽ đường đồng danh nằm giữa các lỗ khoan, không vẽ bên ngoài các lỗ khoan.

;Doan Van Ha - CADViet.com - Ngay 20/6/2013
;Chuc nang: ve mat cat dia chat theo 2 lop tren/duoi va vi tri cac lo khoan.
(defun C:HA( / a a1 a2 b b1 b2 dis11 dis12 dis21 dis22 disAB ent ent1 ent11 ent12 ent2 i lst lst1 lst2 lst3 lx pg11 pg12 pg21 pg22 pt pt1 pt2 px1 px2 pxg vec z)
 (or cal (arxload "geomcal")) (command "undo" "be")
 (setq ent1 (car (entsel "\nChon duong tren: ")))
 (setq ent2 (car (entsel "\nChon duong duoi: ")))
 (setq lst nil lst1 nil)
 (while (setq pt (getpoint "\nChon cac diem lo khoan: "))
  (setq lst (cons pt lst))
  (if (> (length lst) 1)
   (progn
    (setq i -1)
    (grdraw (nth (setq i (1+ i)) lst) (nth (1+ i) lst) 3))))
 (setq lst (reverse lst) i -1 vec '(0 1))
 (repeat (1- (length lst))
  (setq pt1 (nth (setq i (1+ i)) lst))
  (setq ent11 (entmakex (list (cons 0 "XLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbXline") (cons 10 pt1) (cons 11 vec))))
  (setq pg11 (car (HA:Giao2Ent ent1 ent11 acExtendNone)) pg12 (car (HA:Giao2Ent ent2 ent11 acExtendNone)))
  (setq dis11 (distance pt1 pg11) dis12 (distance pt1 pg12))
  (setq pt2 (nth (1+ i) lst))
  (setq ent12 (entmakex (list (cons 0 "XLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbXline") (cons 10 pt2) (cons 11 vec))))
  (setq pg21 (car (HA:Giao2Ent ent1 ent12 acExtendNone)) pg22 (car (HA:Giao2Ent ent2 ent12 acExtendNone)))
  (setq dis21 (distance pt2 pg21) dis22 (distance pt2 pg22))
  (setq disAB (cal "dpl(pt1,pg21,pg22)"))
  (setq lst1 (cons (list dis11 dis12 dis21 dis22 disAB pt1 pt2) lst1))
  (mapcar 'entdel (list ent11 ent12)))
 (setq lst1 (reverse lst1) lst3 nil i -1)
 (repeat (length lst1)
  (setq lst (nth (setq i (1+ i)) lst1) lx (/ (nth 4 lst) 100) z -1 lst2 nil)
  (repeat 101
   (setq pxg (polar (nth 5 lst) 0 (* (setq z (1+ z)) lx)))
   (setq ent (entmakex (list (cons 0 "XLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbXline") (cons 10 pxg) (cons 11 vec))))
   (setq px1 (car (HA:Giao2Ent ent1 ent acExtendNone)) px2 (car (HA:Giao2Ent ent2 ent acExtendNone)))
   (entdel ent)
   (setq a (* lx z) b (- (nth 4 lst) a) a1 (car lst) a2 (cadr lst) b1 (caddr lst) b2 (cadddr lst))
   (setq lst2 (cons (polar px1 (/ pi -2) (/ (* (distance px1 px2) (+ (* a b1) (* b a1))) (+ (* a b1) (* b a1) (* a b2) (* b a2)))) lst2)))
  (setq lst3 (append lst3 (reverse lst2))))
 (Spline lst3)
 (command "undo" "e") (redraw) (princ))
(defun HA:Giao2Ent(ent1 ent2 mode / l r)
 (setq l (vlax-invoke (vlax-ename->vla-object ent1) 'intersectwith (vlax-ename->vla-object ent2) mode))
 (repeat (/ (length l) 3)
  (setq r (cons (list (car l) (cadr l) (caddr l)) r) l (cdddr l)))
 (reverse r))
(defun Spline(lst)
 (entmake (append (list '(0 . "SPLINE") '(100 . "AcDbEntity") '(100 . "AcDbSpline") (cons 71 3) (cons 74 (length lst)))
   (mapcar (function (lambda(p) (cons 11 p))) lst))))
 


  • 2

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#10 dangneo

dangneo

    biết vẽ line

  • Members
  • PipPip
  • 28 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 24 June 2013 - 02:52 PM

Cảm ơn bạn Đoàn Văn Hà nhiều nhé, mình tìm đúng là dạng lisp này,tuy nhiên điểm point của spl cách nhau gần quá, liệu bạn có chỉnh khoảng cách mỗi nút điểm xa nhau gấp 10 lần so với bản này không ?

Cảm ơn bạn nhiều lắm


  • 0

#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 24 June 2013 - 03:12 PM

1). Viết lâu rồi mà giờ bạn mới ghé!

2). Tick "Like" cho gọn nhẹ hơn phải viết "Cám ơn...".

3). Bạn sửa con số 100 thành 10 và 101 thành 11 trong 2 dòng dưới đây (chỉ 2 dòng này thôi nhé):

 

(setq lst (nth (setq i (1+ i)) lst1) lx (/ (nth 4 lst) 100) z -1 lst2 nil)

(repeat 101


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#12 dangneo

dangneo

    biết vẽ line

  • Members
  • PipPip
  • 28 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 25 June 2013 - 10:06 AM

Oh, Cảm ơn bạn. Vậy nếu khi mình chọn giới hạn trên hoặc dưới mà không phải chỉ chọn 1 đường có được không

Ví dụ giới hạn trên gồm 3 đoạn ngắn, không cùng thuộc tính, có cắt nhau ấy.


  • 0

#13 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 25 June 2013 - 10:23 AM

Đưa file minh họa lên bạn nhé.


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#14 dangneo

dangneo

    biết vẽ line

  • Members
  • PipPip
  • 28 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 25 June 2013 - 12:01 PM

http://www.cadviet.c...38_drawing1.dwg

Đây bạn, có thể là trên hoặc dưới sẽ có giới hạn > đường 


  • 0