Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
12 replies to this topic

#1 Truong_AAn

Truong_AAn

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 314 Bài viết
Điểm đánh giá: 68 (tàm tạm)

Đã gửi 10 November 2012 - 10:03 AM

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!
  • 0
Hình đã gửi
----------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5684 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 10 November 2012 - 10:31 AM

K có cad n nhớ là có rồi bạn ạ
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 Truong_AAn

Truong_AAn

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 314 Bài viết
Điểm đánh giá: 68 (tàm tạm)

Đã gửi 10 November 2012 - 11:02 AM

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
  • 0
Hình đã gửi
----------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

#4 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5684 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 10 November 2012 - 11:30 AM

Để tối mình về xem file của bạn đã
  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 10 November 2012 - 07:20 PM

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
  • 2

#6 HoaVien

HoaVien

    biết vẽ arc

  • Members
  • PipPip
  • 44 Bài viết
Điểm đánh giá: 12 (tàm tạm)

Đã gửi 11 November 2012 - 01:21 PM

...
(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ỉ ?
  • 1

#7 quansla

quansla

    biết lệnh xclip

  • Members
  • PipPipPipPipPipPipPip
  • 643 Bài viết
Điểm đánh giá: 224 (khá)

Đã gửi 11 November 2012 - 01:36 PM

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
  • 0

#8 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 11 November 2012 - 02:21 PM

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:
  • 0

#9 Truong_AAn

Truong_AAn

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 314 Bài viết
Điểm đánh giá: 68 (tàm tạm)

Đã gửi 12 November 2012 - 08:38 AM

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
Hình đã gửi
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
  • 0
Hình đã gửi
----------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

#10 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 12 November 2012 - 08:48 AM



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
Hình đã gửi
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
  • 1

#11 Truong_AAn

Truong_AAn

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 314 Bài viết
Điểm đánh giá: 68 (tàm tạm)

Đã gửi 12 November 2012 - 08:54 AM

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

OK rồi cảm ơn anh nhiều nha.
  • 0
Hình đã gửi
----------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

#12 Hoan1111

Hoan1111

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2587 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 12 November 2012 - 10:13 AM

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!
Hình đã gửi
  • 0

66 Câu Phật Học Cho Cuộc Sống : http://ngocchinh.com...-cho-cuoc-song/

Gió đưa cây cải về trời / Rau răm ở lại chịu lời đắng cay...

 

 


#13 Hai_YenLang

Hai_YenLang

    biết lệnh explore

  • Members
  • PipPipPipPipPipPip
  • 473 Bài viết
Điểm đánh giá: 149 (tàm tạm)

Đã gửi 12 November 2012 - 02:34 PM

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!
Hình đã gửi

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 à!
  • 1
Đức hạnh lớn nhất mà bên cạnh đó, mọi đức hạnh khác đều mờ nhạt đi, đó là không làm hại ai và tùy sức mà giúp đỡ mọi người "
Người cảnh sát điều tra hình sự giỏi là người biết được tất cả những hành vi thủ đoạn trộm cắp của bọn trộm cắp, nhưng lại dốt ăn cắp ăn trộm ...