Đến nội dung


Hình ảnh
- - - - -

Tìm giao điểm của 2 đối tượng trong bản vẽ CAD


  • Please log in to reply
1 reply to this topic

#1 minhthao

minhthao

    biết pan

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

Đã gửi 28 October 2008 - 11:08 AM

Nhờ cả nhà giúp đỡ

VD mình có một số đường giao nhau trên bản vẽ CAD

Mình muốn tìm giao điểm của 2 đường nào đó bằng con chỏ chuột thì làm thế nào
cho xin code nhé
code DVB

nghe nói có hàm
IntersectWith

ai viet ho code voi
  • 0

#2 KE AN MAY DI VANG

KE AN MAY DI VANG

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 822 Bài viết
Điểm đánh giá: 572 (tốt)

Đã gửi 28 October 2008 - 12:41 PM

Mình muốn tìm giao điểm của 2 đường nào đó thì làm thế nào


Muốn tìm giao điển của hai đường thẳng cùng nằm trong một mặt phẳng bạn dùng lệnh FILLET với R= 0 ( Auto Cad 2007)
- Với hai đường thẳng không // với nhau hoặc một đường thẳng nằm trong phạm vi R của một đường cong nó sẽ cắt nhau tại 1 điểm.
- Với hai đường thẳng // với nhau, giao đểm của nó sẽ là một nửa đường tròn có đường kính bằng khoảng cách giữa hai đường thẳng đó.

Trường hợp hai đường thẳng chéo nhau trong không gian sẽ không tìm được giao điểm của hai đường thẳng. Nhưng ta vẫn có thể tìm được giao điểm của hai đường thẳng này với đường thẳng thứ 3 vuông góc với mặt phẳng mà hai đường đó tạo bởi với mặt phẳng một góc <90 độ

Ví dụ đường thẳng a tạo với mặt phẳng XOY một góc 27 độ, đường thẳng b tạo với mặt phẳng một góc 38 độ. Dùng lệnh TRIM bạn sẽ tìm được giao điểm của hai đường thẳng này với đường thẳng vuông góc với mặt phẳng XOY. ( đường thẳng này sẽ đi qua hai điểm bị cắt bởi lệnh TRIM. Tôi thường xuyên dùng cách này để kết nối đường ống trong không gian nối hai thiết bị có chiều cao khác nhau.
Tôi thấy có cái lips của bạn SSG bạn ngâm cứu thử xem !( lips tìm giao của đường thẳng với mặt phẳng, bạn có thể nhờ SSG viết lips tìm giao của hai đường thẳng)

Các bạn dùng thử lisp này:
1- Lệnh ILP (Intersection between Line and Plane), chọn line và chỉ định 3 điểm thuộc mặt phẳng. Kết quả: 1 point giao điểm
2- Lệnh IPP (Intersection between Plane and Plane), chỉ định 6 điểm xác định 2 mặt phẳng. Kết quả: 1 line giao tuyến.


;;;------------------------------------------
(defun intlp(p1 p2 p3 p4 p5 / tp1 tp2 ip)
(command "ucs" "n" "3" p3 p4 p5)
(setq
tp1 (trans p1 0 1)
tp2 (trans p2 0 1)
)
(if (setq ip (inters tp1 tp2 (list (car tp1) (cadr tp1) 0) (list (car tp2) (cadr tp2) 0) nil))
(setq ip (trans ip 1 0))
)
(command "ucs" "w")
ip
)
;;;------------------------------------------
(defun C:ILP(/ dL pL1 pL2 pp1 pp2 pp3 p)
(setq
dL (entget (car (entsel "\nChon duong thang:")))
pL1 (cdr (assoc 10 dL))
pL2 (cdr (assoc 11 dL))
pp1 (getpoint "\nDiem 1 tren mat phang:")
pp2 (getpoint pp1 "\nDiem 2 tren mat phang:")
pp3 (getpoint pp2 "\nDiem 3 tren mat phang:")
p (intlp pL1 pL2 pp1 pp2 pp3)
)
(setvar "pdmode" 34)
(entmake (list (cons 0 "point") (cons 10 p)))
(princ)
)
;;;------------------------------------------
(defun C:IPP(/ p11 p12 p13 p21 p22 p23 p1 p2)
(setq
p11 (getpoint "\nDiem 1 tren mat phang 1:")
p12 (getpoint p11 "\nDiem 2 tren mat phang 1:")
p13 (getpoint p12 "\nDiem 3 tren mat phang 1:")
p21 (getpoint "\nDiem 1 tren mat phang 2:")
p22 (getpoint p21 "\nDiem 2 tren mat phang 2:")
p23 (getpoint p22 "\nDiem 3 tren mat phang 2:")
p1 (intlp p11 p12 p21 p22 p23 )
p2 (intlp p11 p13 p21 p22 p23 )
)
(entmake (list (cons 0 "line") (cons 10 p1) (cons 11 p2)))
(princ)
)
;;;------------------------------------------


  • 2
KẺ ĂN MÀY DĨ VÃNG