Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
Truong_AAn

[Yêu cầu] lisp vẽ center line

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

HIện giờ mình đang thực hiện rất nhiều các bản vẽ có các chi tiết hình trụ tròn được thể hiện trên bảng vẽ là 2D là 2 đường thẳng song song có đường tâm ở giữa. MÌnh thực hiện thủ công theo lênh cad bằng cách bắt lệnh M2P rồi dựng line thì lâu quá. Nếu có ai biết lệnh vẽ nhanh đường center như hình thì giúp mình nha. Nếu không có thì nhờ CadViet viết giúp mình cái lisp có yêu cầu như file đính kèm.

http://www.cadviet.com/upfiles/3/106444_ce_1.dwg

Xin chân thành 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

Anh Ket có nhớ là lệnh gì không. Em chỉ biết trong Mechanical thì có nhưng cad thì không biết. cad chỉ biết lệnh DCE là center line cho cung tròn, đường tròn thôi anh ah

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

HIện giờ mình đang thực hiện rất nhiều các bản vẽ có các chi tiết hình trụ tròn được thể hiện trên bảng vẽ là 2D là 2 đường thẳng song song có đường tâm ở giữa. MÌnh thực hiện thủ công theo lênh cad bằng cách bắt lệnh M2P rồi dựng line thì lâu quá. Nếu có ai biết lệnh vẽ nhanh đường center như hình thì giúp mình nha. Nếu không có thì nhờ CadViet viết giúp mình cái lisp có yêu cầu như file đính kèm.

http://www.cadviet.c...106444_ce_1.dwg

Xin chân thành cảm ơn!

Của bạn đây :

(defun c:cline(/ Tue-geom-divpt p1d p1s p2d p2s e1 e2 )
 ;;;write by Tue_NV
 (defun Tue-geom-divpt (p1 p2 k)
   (polar p1 (angle p1 p2) (* (distance p1 p2) k))
 )
 (setq kdh 5);;nhap khoang keo dai o day
 (setq e1 (car (entsel "\n Pick doituong 1 :") ) e2 (car (entsel "\n Pick doituong 2 :") )
   p1d (vlax-curve-getstartpoint e1) p2d (vlax-curve-getClosestPointTo e2 p1d)
   p1s (vlax-curve-getendpoint e1) p2s (vlax-curve-getClosestPointTo e2 p1s)
   ptd (polar (Tue-geom-divpt p1d p2d 0.5) (angle p1s p1d) kdh) pts (polar (Tue-geom-divpt p1s p2s 0.5) (angle p1d p1s) kdh) )
(entmake (list (cons 0 "LINE") (cons 8  (getvar "clayer")) (cons 10 ptd) (cons 11 pts)))
)

Lisp đổi đường tim theo layer hiện hành, có nghĩa là bạn set về layer hiện hành rồi chạy Lisp

  • 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

...

(entmake (list (cons 0 "LINE") (cons 8 (getvar "clayer")) (cons 10 ptd) (cons 11 pts)))

....

Lisp đổi đường tim theo layer hiện hành, có nghĩa là bạn set về layer hiện hành rồi chạy Lisp

Bác Tue_NV dạo này cẩn thận quá!

Nếu không có (cons 8 (getvar "clayer")) thì Lisp đổi đường tim theo layer nào 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

Bác Tue_NV dạo này cẩn thận quá!

Nếu không có (cons 8 (getvar "clayer")) thì Lisp đổi đường tim theo layer nào nhỉ ?

Phát hiện này vui quá, có điều em vẫn chưa hiểu cách sử dụng của lisp bác Tue_NV và cũng chưa hiểu yêu cầu của chủ topic

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ác Tue_NV dạo này cẩn thận quá!

Nếu không có (cons 8 (getvar "clayer")) thì Lisp đổi đường tim theo layer nào nhỉ ?

Bạn biết câu trả lời rồi còn hỏi làm gì? :lol:

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ủa bạn đây :

(defun c:cline(/ Tue-geom-divpt p1d p1s p2d p2s e1 e2 )
 ;;;write by Tue_NV
 (defun Tue-geom-divpt (p1 p2 k)
   (polar p1 (angle p1 p2) (* (distance p1 p2) k))
 )
 (setq kdh 5);;nhap khoang keo dai o day
 (setq e1 (car (entsel "\n Pick doituong 1 :") ) e2 (car (entsel "\n Pick doituong 2 :") )
   p1d (vlax-curve-getstartpoint e1) p2d (vlax-curve-getClosestPointTo e2 p1d)
   p1s (vlax-curve-getendpoint e1) p2s (vlax-curve-getClosestPointTo e2 p1s)
   ptd (polar (Tue-geom-divpt p1d p2d 0.5) (angle p1s p1d) kdh) pts (polar (Tue-geom-divpt p1s p2s 0.5) (angle p1d p1s) kdh) )
(entmake (list (cons 0 "LINE") (cons 8  (getvar "clayer")) (cons 10 ptd) (cons 11 pts)))
)

Lisp đổi đường tim theo layer hiện hành, có nghĩa là bạn set về layer hiện hành rồi chạy Lisp

 

 

1- Cảm ơn anh Tuệ đã quan tâm và giúp em.

2- Lisp báo lỗi không sử dụng được

106444_capture_49.jpg

3- Em xin lỗi vì đã diễn đạt không rõ ràng nên anh chưa hiểu yêu cầu lisp. em xin phép đính chính lại là thế này. Em có 2 đường thẳng A, B em muốn dựng một đường C ( C chưa có), bây giờ em chọn A, Chọn B thì cad sẽ vẽ C. linetype của C là layer hiện hành

flie cad:

http://www.cadviet.c...106444_ce_2.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

 

 

1- Cảm ơn anh Tuệ đã quan tâm và giúp em.

2- Lisp báo lỗi không sử dụng được

106444_capture_49.jpg

3- Em xin lỗi vì đã diễn đạt không rõ ràng nên anh chưa hiểu yêu cầu lisp. em xin phép đính chính lại là thế này. Em có 2 đường thẳng A, B em muốn dựng một đường C ( C chưa có), bây giờ em chọn A, Chọn B thì cad sẽ vẽ C. linetype của C là layer hiện hành

flie cad:

http://www.cadviet.c...106444_ce_2.dwg

Bạn thêm dòng (vl-load-com) vào đầu Lisp

Chọn đoạn Line 1

Chọn đoạn Line 2

-> Rồi xong

  • 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

OK rồi cảm ơn anh nhiều nha.

Nếu chỉ yêu cầu một cái lisp cỏn con pick chọn hai đầu từng em một như như thế chỉ làm khổ các nhà đầu tư !

AutoCAD có một cách làm khác có thể gõ đầu nhiều em một, nhanh hơn lisp là cái chắc

bác em thử chịu khó nghĩ xem sao???

Nếu bác em yêu cầu để hiểu thêm về lisp, tập viết lisp thì ok

Nếu ứng dụng đễ vẽ thiết kế thì Cái này người ta gọi là cài số ...lùi!

a45fff1b412faf35dfa98d256f2e6ed1_50790330.gwegwe.png

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 chỉ yêu cầu một cái lisp cỏn con pick chọn hai đầu từng em một như như thế chỉ làm khổ các nhà đầu tư !

AutoCAD có một cách làm khác có thể gõ đầu nhiều em một, nhanh hơn lisp là cái chắc

bác em thử chịu khó nghĩ xem sao???

Nếu bác em yêu cầu để hiểu thêm về lisp, tập viết lisp thì ok

Nếu ứng dụng đễ vẽ thiết kế thì Cái này người ta gọi là cài số ...lùi!

a45fff1b412faf35dfa98d256f2e6ed1_50790330.gwegwe.png

Sao Hoằn ko chia sẻ luôn cách làm của mình, úp mở để làm gì, đây không phải là đố vui em à!

  • 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

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

Đăng nhập để thực hiện theo  

×