Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Lisp cắt đối tượng


  • Please log in to reply
44 replies to this topic

#1 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 10 August 2011 - 06:32 PM

Bác gia_bach đã giới thiệu lisp cắt đối tượng cho nhiều trường hợp nhưng mình chỉ cần 1 trường hợp khi ta có nhiều đoạn thẳng cắt nhau,khi đánh lệnh lisp,chọn đối tượng cần cắt xong chọn đường thẳng để làm gốc sau đó đường thẳng cần cắt sẽ bị cắt tại vị trí đường thẳng làm gốc.Chân thành cảm ơn.
  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 10 August 2011 - 06:47 PM

Bác gia_bach đã giới thiệu lisp cắt đối tượng cho nhiều trường hợp nhưng mình chỉ cần 1 trường hợp khi ta có nhiều đoạn thẳng cắt nhau,khi đánh lệnh lisp,chọn đối tượng cần cắt xong chọn đường thẳng để làm gốc sau đó đường thẳng cần cắt sẽ bị cắt tại vị trí đường thẳng làm gốc.Chân thành cảm ơn.

Bạn nhảy nhanh thiệt! Mới hỏi bên kia, bây giờ sang lập topic mới để hỏi lại. Nếu cần cắt mà tốn thêm chỉ duy nhất 1 động tác nhưng cũng tiếc thì thật tội nghiệp cho người viết lsp bạn ạ! Hãy quay lại bên kia xem sao đã nhé!
Thân thương!
  • 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.


#3 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 10 August 2011 - 07:08 PM

Bạn nhảy nhanh thiệt! Mới hỏi bên kia, bây giờ sang lập topic mới để hỏi lại. Nếu cần cắt mà tốn thêm chỉ duy nhất 1 động tác nhưng cũng tiếc thì thật tội nghiệp cho người viết lsp bạn ạ! Hãy quay lại bên kia xem sao đã nhé!
Thân thương!

Bên đó đoạn lisp dài dòng vì nó có nhiều chức năng,mình thì chỉ cần 1 chức năng như nói ở trên bạn ah.
  • 0

#4 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 10 August 2011 - 07:17 PM

Bên đó đoạn lisp dài dòng vì nó có nhiều chức năng,mình thì chỉ cần 1 chức năng như nói ở trên bạn ah.

Tại lúc đầu bạn nói là cần tách lsp đó thành lsp chỉ có 1 lệnh duy nhất nên tôi mới nói là "hơi bị mệt", vì lsp đó rất nhiều hàm con, nếu tách ra thì chắc cũng không ngắn hơn bao nhiêu. Còn bây giờ chỉ còn "cắt các line bằng 1 line khác" thì vấn đề lại khác, và chắc có lẽ dễ thở hơn. Tôi đang nghiên cứu giúp bạn xem sao, nhưng không biết có được không. Bạn nào biết nhanh thì cùng giúp vậy.
Thân thương!
  • 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.


#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 10 August 2011 - 08:46 PM

Bạn dùng thử cái này xem nhé.

(defun C:CDT( / sl dt giao )
(setq oldos (getvar "osmode") oldcm (getvar "cmdecho"))
(setvar "osmode" 0) (setvar "cmdecho" 0)
(princ "Chon cac Line can cat: ")
(setq sl (acet-ss-to-list (ssget '((0 . "LINE")))))
(setq dt (entsel "Chon Line cat: "))
(foreach n sl
(setq giao (inters (cdr (assoc 10 (entget n))) (cdr (assoc 11 (entget n))) (cdr (assoc 10 (entget (car dt)))) (cdr (assoc 11 (entget (car dt))))))
(command "break" n giao giao))
(setvar "osmode" oldos)
(setvar "cmdecho" oldcm)
(princ))
(princ "Lenh cat doi tuong: CDT")

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


#6 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 10 August 2011 - 09:12 PM

Bạn dùng thử cái này xem nhé.


(defun C:CDT( / sl dt giao )
(setq oldos (getvar "osmode") oldcm (getvar "cmdecho"))
(setvar "osmode" 0) (setvar "cmdecho" 0)
(princ "Chon cac Line can cat: ")
(setq sl (acet-ss-to-list (ssget '((0 . "LINE")))))
(setq dt (entsel "Chon Line cat: "))
(foreach n sl
(setq giao (inters (cdr (assoc 10 (entget n))) (cdr (assoc 11 (entget n))) (cdr (assoc 10 (entget (car dt)))) (cdr (assoc 11 (entget (car dt))))))
(command "break" n giao giao))
(setvar "osmode" oldos)
(setvar "cmdecho" oldcm)
(princ))
(princ "Lenh cat doi tuong: CDT")

Đường polyline không cắt được sao bạn?Nhờ bạn sửa cho chọn được nhiều line cắt,sau khi cắt xong các đoạn thẳng vừa mới bị cắt ra,đoạn ngắn nhất thì sẽ bị xoá đi.Thanks.
  • 0

#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 10 August 2011 - 09:38 PM

Đường polyline không cắt được sao bạn?Nhờ bạn sửa cho chọn được nhiều line cắt,sau khi cắt xong các đoạn thẳng vừa mới bị cắt ra,đoạn ngắn nhất thì sẽ bị xoá đi.Thanks.

Chắc tôi chịu! Cắt N đường Line bởi M đường Line, rồi cắt N đường PLline bởi M đường Pline... thì cái "kia" đó.
  • 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.


#8 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 10 August 2011 - 09:46 PM

Chắc tôi chịu! Cắt N đường Line bởi M đường Line, rồi cắt N đường PLline bởi M đường Pline... thì cái "kia" đó.

Vậy bạn giúp mình 2 ý sau :Nhờ bạn sửa cho chọn được nhiều line cắt,sau khi cắt xong các đoạn thẳng vừa mới bị cắt ra,đoạn ngắn nhất thì sẽ bị xoá đi được không?Chỉ là Line không phải Polyline.Thanks.
  • 0

#9 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 10 August 2011 - 10:07 PM

Vậy bạn giúp mình 2 ý sau :Nhờ bạn sửa cho chọn được nhiều line cắt,sau khi cắt xong các đoạn thẳng vừa mới bị cắt ra,đoạn ngắn nhất thì sẽ bị xoá đi được không?Chỉ là Line không phải Polyline.Thanks.

Nếu không có file bản vẽ hoặc hình ảnh minh họa cho ý tưởng thì topic sẽ đi vào ngõ cụt. Thanks bạn :rolleyes:
P/S : nhắc mãi một vài người cũng mệt lắm Hugo ơi :wub:
  • 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


#10 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 10 August 2011 - 10:08 PM

Vậy bạn giúp mình 2 ý sau :Nhờ bạn sửa cho chọn được nhiều line cắt,sau khi cắt xong các đoạn thẳng vừa mới bị cắt ra,đoạn ngắn nhất thì sẽ bị xoá đi được không?Chỉ là Line không phải Polyline.Thanks.

Chà! Hơi khó hiểu với đề toán này đây.
1). Có phải chỉ chọn đối tượng cắt 1 lần và đối tượng bị cắt 1 lần thì N đường này sẽ bị M đường kia cắt ra?
2). Khi cắt ra, ví dụ thành X đoạn bằng nhau thì bỏ thằng nào?
3). Nếu có hình vẽ minh hoạ trước và sau cắt+xoá thì dễ hiểu hơn.
  • 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.


#11 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 10 August 2011 - 10:29 PM

File minh họa đây các bác ah.
http://www.cadviet.c...drawing1_77.dwg
  • 0

#12 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 10 August 2011 - 10:41 PM

@hugo007 :mình đã xem hình, tuy nhiên, vẫn chưa nhận ra quy luật, do người post (bạn) thường chỉ vẽ hình trong trường hợp cá biệt nhưng lại diễn đạt yêu cầu tổng quát.
Cụ thể : 2 đường cắt hay n đường cắt? Các line cần cắt và Line cắt có vuông góc với nhau và trùng hệ trục như hình ? Các Line có song song nhau ??....
  • 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


#13 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 10 August 2011 - 10:51 PM

@hugo007 :mình đã xem hình, tuy nhiên, vẫn chưa nhận ra quy luật, do người post (bạn) thường chỉ vẽ hình trong trường hợp cá biệt nhưng lại diễn đạt yêu cầu tổng quát.
Cụ thể : 2 đường cắt hay n đường cắt? Các line cần cắt và Line cắt có vuông góc với nhau và trùng hệ trục như hình ? Các Line có song song nhau ??....

Xin lỗi vì chưa đưa hết ý,n đường cắt,các line cần cắt và line cắt nằm bất kỳ vuông góc hay không vuông góc gì cũng được,các line có thể song song hoặc không song song.Cảm ơn bạn.
  • 0

#14 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 10 August 2011 - 10:52 PM

@hugo007 :mình đã xem hình, tuy nhiên, vẫn chưa nhận ra quy luật, do người post (bạn) thường chỉ vẽ hình trong trường hợp cá biệt nhưng lại diễn đạt yêu cầu tổng quát.
Cụ thể : 2 đường cắt hay n đường cắt? Các line cần cắt và Line cắt có vuông góc với nhau và trùng hệ trục như hình ? Các Line có song song nhau ??....

Bổ sung thêm ý kiến của Ketxu ở trên:
1). Nếu chỉ đơn giản như hình vẽ thì dùng Trim cũng nhanh như lsp.
2). Hỏi lại (vì đã hỏi rồi): khi cắt line ra N phần, nếu chúng bằng nhau, hoặc 2 thằng ngắn nhất bằng nhau thì bỏ thằng nào?
Nói chung đề toán của bạn quá khó, chắc tôi botay.com
  • 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.


#15 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 10 August 2011 - 11:01 PM

Bổ sung thêm ý kiến của Ketxu ở trên:
1). Nếu chỉ đơn giản như hình vẽ thì dùng Trim cũng nhanh như lsp.
2). Hỏi lại (vì đã hỏi rồi): khi cắt line ra N phần, nếu chúng bằng nhau, hoặc 2 thằng ngắn nhất bằng nhau thì bỏ thằng nào?
Nói chung đề toán của bạn quá khó, chắc tôi botay.com

Trả lời bạn:
1)Đây là ví dụ nên nhìn vào sẽ thấy dùng trim nhanh hơn.
2)Khi mình sử dụng vào công việc thì sẽ không thể có các đoạn thẳng bằng nhau bạn ah.
Cảm ơn bạn.
  • 0

#16 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 10 August 2011 - 11:08 PM

Trả lời bạn:
1)Đây là ví dụ nên nhìn vào sẽ thấy dùng trim nhanh hơn.
2)Khi mình sử dụng vào công việc thì sẽ không thể có các đoạn thẳng bằng nhau bạn ah.
Cảm ơn bạn.

Tôi đã khá hiểu. Tuy nhiên, với tôi thì khó quá, nên không thể giúp bạn được, mong thông cảm! Hy vọng có bạn khác giúp.
Thân thương!
  • 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.


#17 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 10 August 2011 - 11:10 PM

Tôi đã khá hiểu. Tuy nhiên, với tôi thì khó quá, nên không thể giúp bạn được, mong thông cảm! Hy vọng có bạn khác giúp.
Thân thương!

Cảm ơn bạn nhiều vì lisp bạn viết giùm mình,hy vọng ketxu và các bác khác giúp được mình.Nếu không được thì dùng cái bạn viết cũng được rồi.
  • 0

#18 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 August 2011 - 12:45 AM

Bạn dùng tạm.
- Lệnh : brd
-Chức năng : Break các đường *Line (bị cắt) tại các giao điểm với các đường *Line (cắt) chỉ định.
- Lisp làm việc với Line, Pline, SPline... (nói chung là các đối tượng mà lệnh Break xử lý)
Mình viết vội nên không có phần bắt lỗi, chỉ có Undo, bạn nhớ cẩn trọng khi chọn đối tượng :)
(defun c:brd (/ EL lst_ss_bicat lst_ss_cat lst ST:Ent-Length ST:Ss->ListEnt ST:Ent-IntersObj ST:Ent-BrkLPSLine)

;;;;;;;; Local Functions
(defun ST:Ent-Length(e) (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e)))
(defun ST:Ss->ListEnt (ss / n e l)
(setq n (sslength ss))
(while (setq e (ssname ss (setq n (1- n))))
(setq l (cons e l))
)
)
(defun ST:Ent-IntersObj (e1 e2 / ob1 ob2 g L i kq) ;objExtend : doi tuong keo dai
(vl-load-com)
(setq
ob1 (vlax-ename->vla-object e1)
ob2 (vlax-ename->vla-object e2))
(setq g (vlax-variant-value (vla-IntersectWith ob1 ob2 acExtendNone)))
(if (/= (vlax-safearray-get-u-bound g 1) -1) (setq L (vlax-safearray->list g)))
(setq i 0)
(repeat (/ (length L) 3)
(setq kq (append (list (list (nth i L) (nth (+ i 1) L) (nth (+ i 2) L))) kq))
(setq i (+ i 3))
)
kq
)
(defun ST:Ent-BrkLPSLine (obj LineDo / lstInters);ename
(if (setq lstInters (ST:Ent-IntersObj obj LineDo))
(progn
(foreach x lstInters
(command "_break" obj x "@")
)
)
)
)

(grtext -1 "Free Break and Del *Line @Ketxu Cadviet.com")
(command "undo" "begin")
(setq EL (entlast))
(prompt "\nCh\U+1ECDn c\U+00E1c Line, Pline, SLine.. b\U+1ECB c\U+1EAFt :")
(setq lst_ss_bicat (ST:Ss->ListEnt (ssget)))
(prompt "\nCh\U+1ECDn c\U+00E1c Line, Pline, SLine...c\U+1EAFt :")
(setq lst_ss_cat (ST:Ss->ListEnt (ssget)))
(foreach Linedo lst_ss_cat
(foreach obj lst_ss_bicat
(ST:Ent-BrkLPSLine obj Linedo)
)

(while (setq EL (entnext EL)) (setq lst_ss_bicat (cons EL lst_ss_bicat)))
(setq EL (entlast))
)
(command "erase" (nth (vl-position (apply 'min (setq lst (mapcar 'ST:Ent-Length lst_ss_bicat))) lst) lst_ss_bicat) "")
(command "undo" "end")
)


P/S : lần sau, nếu bạn post bài yêu cầu thì cố gắng thể hiện rõ ràng nhất yêu cầu của mình, tốt nhất nên có hình minh họa, để vừa nhanh có hàng mà ai cũng vui, chứ để số bài viết tăng nhanh mà vấn đề thì không được giải quyết thì mệt cái đầu lắm. Hy vọng đây cũng là lần cuối cùng Ket ngỏ lời cùng bạn về việc này :wub:
Chúc bạn thành công!
  • 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


#19 hugo007

hugo007

    biết lệnh erase

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

Đã gửi 11 August 2011 - 06:56 AM

Bạn dùng tạm.
- Lệnh : brd
-Chức năng : Break các đường *Line (bị cắt) tại các giao điểm với các đường *Line (cắt) chỉ định.
- Lisp làm việc với Line, Pline, SPline... (nói chung là các đối tượng mà lệnh Break xử lý)
Mình viết vội nên không có phần bắt lỗi, chỉ có Undo, bạn nhớ cẩn trọng khi chọn đối tượng :)

(defun c:brd (/ EL lst_ss_bicat lst_ss_cat lst ST:Ent-Length ST:Ss->ListEnt ST:Ent-IntersObj ST:Ent-BrkLPSLine)

;;;;;;;; Local Functions
(defun ST:Ent-Length(e) (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e)))
(defun ST:Ss->ListEnt (ss / n e l)
(setq n (sslength ss))
(while (setq e (ssname ss (setq n (1- n))))
(setq l (cons e l))
)
)
(defun ST:Ent-IntersObj (e1 e2 / ob1 ob2 g L i kq) ;objExtend : doi tuong keo dai
(vl-load-com)
(setq
ob1 (vlax-ename->vla-object e1)
ob2 (vlax-ename->vla-object e2))
(setq g (vlax-variant-value (vla-IntersectWith ob1 ob2 acExtendNone)))
(if (/= (vlax-safearray-get-u-bound g 1) -1) (setq L (vlax-safearray->list g)))
(setq i 0)
(repeat (/ (length L) 3)
(setq kq (append (list (list (nth i L) (nth (+ i 1) L) (nth (+ i 2) L))) kq))
(setq i (+ i 3))
)
kq
)
(defun ST:Ent-BrkLPSLine (obj LineDo / lstInters);ename
(if (setq lstInters (ST:Ent-IntersObj obj LineDo))
(progn
(foreach x lstInters
(command "_break" obj x "@")
)
)
)
)

(grtext -1 "Free Break and Del *Line @Ketxu Cadviet.com")
(command "undo" "begin")
(setq EL (entlast))
(prompt "\nCh\U+1ECDn c\U+00E1c Line, Pline, SLine.. b\U+1ECB c\U+1EAFt :")
(setq lst_ss_bicat (ST:Ss->ListEnt (ssget)))
(prompt "\nCh\U+1ECDn c\U+00E1c Line, Pline, SLine...c\U+1EAFt :")
(setq lst_ss_cat (ST:Ss->ListEnt (ssget)))
(foreach Linedo lst_ss_cat
(foreach obj lst_ss_bicat
(ST:Ent-BrkLPSLine obj Linedo)
)

(while (setq EL (entnext EL)) (setq lst_ss_bicat (cons EL lst_ss_bicat)))
(setq EL (entlast))
)
(command "erase" (nth (vl-position (apply 'min (setq lst (mapcar 'ST:Ent-Length lst_ss_bicat))) lst) lst_ss_bicat) "")
(command "undo" "end")
)


P/S : lần sau, nếu bạn post bài yêu cầu thì cố gắng thể hiện rõ ràng nhất yêu cầu của mình, tốt nhất nên có hình minh họa, để vừa nhanh có hàng mà ai cũng vui, chứ để số bài viết tăng nhanh mà vấn đề thì không được giải quyết thì mệt cái đầu lắm. Hy vọng đây cũng là lần cuối cùng Ket ngỏ lời cùng bạn về việc này :wub:
Chúc bạn thành công!

Cám ơn bạn hình như bạn có hiểu sai ý mình các đoạn thẳng sau khi chia tại các đường cắt đoạn ngắn nhất trong 1 đoạn thẳng sau khi bị chia sẽ bị xoá chứ không phải ngắn nhất trong tất cả đoạn thẳng sau khi bị chia.Thí dụ mình có 2 đoạn thẳng A và B bị chia bởi 2 đoạn thẳng bất kỳ.đoạn A bị chia làm 3,đoạn B cũng bị chia làm 3.Trong 3 đoạn thằng bị chia bởi đoạn A đoạn nào ngắn nhất sẽ bị xoá tương tự đoạn ngắn nhất trong đoạn B cũng bị xoá.Tóm lại có bao nhiêu đoạn thằng bị cắt bởi đường cắt thì có bấy nhiêu đoạn ngắn nhất bị xoá.Bạn thêm giùm mình phần bẫy lỗi còn thiếu như bạn nói luôn nhe,mình đợi được.Thanks.
  • 0

#20 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 August 2011 - 07:27 AM

Ồ, bạn dậy sớm vậy ^^
P/s : có lẽ do mình chậm hiểu quá nên hiểu sai ý bạn ^^. Sai 1 li, đi 1 dặm, code lại rối rắm hơn :(
Srr code có lỗi

Còn phần bắt lỗi bắt lủng, nếu bạn làm bình thường thì chắc chẳng cần đâu, chứ bắt hết lỗi thì chắc đến già mất, nên bỏ qua thao tác đó :D. Bạn đợi được nhưng mình thì phải đi công trường bây giờ rồi, hem đợi được. Gluck ^_^
  • 3

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