Đến nội dung


Hình ảnh

nối các đoạn thẳng nhỏ thành một đoạn thẳng lớn hơn?


  • Please log in to reply
7 replies to this topic

#1 danxaydung9x

danxaydung9x

    biết zoom

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

Đã gửi 19 October 2014 - 01:56 PM

136274_2.pngXin hỏi mọi người là có lệnh nào trong cad hay lisp nào có thể nối các đoạn thẳng rời rạc với nhau không?Tôi muốn điểm cuối của đoạn thẳng thứ i nối với điểm đầu của đoạn thẳng thứ (i+1) thì có lệnh nào cho nhanh không?dùng thủ công nhấp từng đoạn thẳng với nhau cũng đc nhưng mà như thế hơi lâu.


  • 0

#2 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 19 October 2014 - 01:57 PM

(defun c:jp (/ ope ss)
  (setq ope (getvar "PEDITACCEPT"))
  (if (setq ss (ssget '((0 . "ARC,*POLYLINE,LINE"))))
    (progn
      (setvar "PEDITACCEPT" 1)
      (command "_.pedit" "_M" ss "" "_J" "" "")))
  (setvar "PEDITACCEPT" ope)
  (princ)
  )

  • 2



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#3 danxaydung9x

danxaydung9x

    biết zoom

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

Đã gửi 19 October 2014 - 02:15 PM

(defun c:jp (/ ope ss)
  (setq ope (getvar "PEDITACCEPT"))
  (if (setq ss (ssget '((0 . "ARC,*POLYLINE,LINE"))))
    (progn
      (setvar "PEDITACCEPT" 1)
      (command "_.pedit" "_M" ss "" "_J" "" "")))
  (setvar "PEDITACCEPT" ope)
  (princ)
  )

Lisp này dùng như thế nào bạn/anh/chi ơi :D? Mình dùng lệnh jp rồi chọn đối tượng, nhưng sau đó enter cái là mất luôn. Bạn/anh/chi có thể hướng dẫn cái líp này đc không?


  • 0

#4 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 19 October 2014 - 02:19 PM

Y học bó tay bạn ạ.


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#5 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 19 October 2014 - 02:20 PM

Thực ra mình ko muốn viết.

Bạn thay đổi đề tài soành soạch. 


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#6 danxaydung9x

danxaydung9x

    biết zoom

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

Đã gửi 19 October 2014 - 02:32 PM

Thì cứ chỉ cho kĩ xem, vì tôi trình độ còn non nên mới phải hỏi chứ. Vấn đề cốt lõi là các bước để nối mấy cại đoạn thẳng kia lại thành một đoạn thẳng dài hơn?


  • 0

#7 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 19 October 2014 - 06:25 PM

Thì cứ chỉ cho kĩ xem, vì tôi trình độ còn non nên mới phải hỏi chứ. Vấn đề cốt lõi là các bước để nối mấy cại đoạn thẳng kia lại thành một đoạn thẳng dài hơn?

Hề hề hề,

Bạn hãy tìm hiểu lệnh pedit xem. Lisp bác thanhduan2407 sử dụng lệnh này. Tuy nhiên điều cần lưu ý là nếu lệnh pedit đã được sử dụng trước đó vói các tham số khác, không đúng với điều bạn muốn thì lisp này sẽ hoạt động không đúng.

Bạn cần lưu ý một chút về các tham số được sử dụng tronh lệnh pedit. Có thể tham khảo về chúng trong Help của CAD.

Việc sử dụng lệnh pedit thành thạo sẽ giúp bạn rất nhiều trong quá trình làm việc. Theo ý bạn yêu cầu mà mình hiểu thì cách sử dụng lệnh này với trường h5p của bạn là:

1/- Nhập lệnh pedit từ bàn phím rồi enter

2/- Chọn tham số m tức multiple nghĩa là edit nhiều đối tượng. và enter

3/- Chọn tất cả các đối tượng cần nối. rồi nhấn enter

4/- Nểu trong số các đối tượng chọn có chứa line, arc thì Cad sẽ hỏi bạn có muốn đổi các đối tượng này thành polyline hay không và bạn phải nhập Y và enter

Trong trường hợp tất cả các đối tựng bạn chọn đều là polyline thì sẽ không có bước này

5/- Chọn tham số J nghĩa là Join để liên kết các đối tượng và nhấn enter

6/- Chọn tham số J nghĩa là chọn loại edit các đối tượng này, nhấn enter.

7/- Chọn tham số A nghĩa là thêm các đối tượng này vào đối tượng ban đầu để có một đối tượng duy nhất. Nhấn enter.

8/- Nhập giá trị fuzze là khoảng cách lớn nhất giữa các điểm cần nối rồi nhấn enter. Cad sẽ thực hiện việc nối các đối tượng thành một đối tượng duy nhất.

Lưu ý rằng việc nối này sẽ được thực hiện theo các khoảng cách nhỏ nhất giữa các đầu mút của các đối tượng mà không phân biệt trật tự chọn đối tượng cũng như điểm đầu hay điểm cuối của mỗi đối tựơng. Điều này có thể dẫn tới việc CAd nối các đối tượng không đúng với ý đồ bạn muốn. Vì thế bạn cần check các đối tượng cần nối và điều chỉnh chúng hợp lý trước khi nối hàng loạt.

9/- Nhấn enter để kết thúc lệnh pedit.

 

Bạn hãy làm thử xem và lựa chọn có nhất thiết phải cần lisp hay không.....

Chúc bạn vui.


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

#8 Hoan1111

Hoan1111

    biết lệnh adcenter

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

Đã gửi 19 October 2014 - 10:15 PM

136274_2.pngXin hỏi mọi người là có lệnh nào trong cad hay lisp nào có thể nối các đoạn thẳng rời rạc với nhau không?Tôi muốn điểm cuối của đoạn thẳng thứ i nối với điểm đầu của đoạn thẳng thứ (i+1) thì có lệnh nào cho nhanh không?dùng thủ công nhấp từng đoạn thẳng với nhau cũng đc nhưng mà như thế hơi lâu.

 

Thưc sự là em không hiểu ý của anh, lời thì rõ rồi, ảnh minh họa thì chỉ có giả thiết không có hình vẽ thực hiện xong sau khi dùng lisp???

Lệnh PE thì trên diễn dàn có nhiều bài viết rồi! :) :) :)

Giả sử với hình dưới dây thì dùng lisp của bác thanhduan2407 sẽ nhanh hơn dùng lệnh PE:

Command: pe  (Gõ P)
PEDIT Select polyline or [Multiple]:
Object selected is not a polyline  (chọn 1 đối tượng bất kỳ)
Do you want to turn it into one? <Y>
Enter an option [Close/Join/Width/Edit vertex/Fit/Spline/Decurve/Ltype
gen/Undo]: j  (Gõ J)
Select objects: Specify opposite corner: 4 found
Select objects: (Quét chọn tất cả các đối tượng rồi Enter hai lần)
3 segments added to polyline
Enter an option [Open/Join/Width/Edit vertex/Fit/Spline/Decurve/Ltype gen/Undo]:

 

Command: jp  (Gõ jp)
Select objects: Specify opposite corner: 4 found
Select objects :(Quét chọn tất cả các đối tượng rồi Enter)
_.pedit Select polyline or [Multiple]: _M
Select objects:   4 found
Select objects:
Enter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]: _J
Join Type = Extend
Enter fuzz distance or [Jointype] <1.0000>:
3 segments added to polyline
Enter an option [Close/Open/Join/Width/Fit/Spline/Decurve/Ltype gen/Undo]:
Command:

114276_pe12.png

 

Muốn "Nối các line, arc, lwpolyline không chạm nhau" thì xem đây: http://www.cadviet.c...hong-cham-nhau/


  • 1

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...