Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Viết giúp em LISP nối các đối tượng cùng loại bằng polyline


  • Please log in to reply
17 replies to this topic

#1 lý nhẹ

lý nhẹ

    biết zoom

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

Đã gửi 18 July 2012 - 01:44 AM

Giả sử trong bản vẽ chúng ta có rất nhiều nhóm (như hình vẽ) nằm ở rất nhiều nơi, chúng ta cần kiểm tra các dữ liệu liên quan khác - nhưng việc tìm thủ công có thể bất tiện - có thể nào viết một câu lệnh mà yêu cầu CAD tự động kiểm tra và lọc lấy các nhóm có cùng ký hiệu, sau đó, với mỗi nhóm trích ra tọa độ tâm đường tròn tương ứng của nhóm ---> nối lại bằng một polyline (nếu mình có thể định nghĩa màu cho polyline trước nữa thì thật tuyệt vời!) Mời các bạn xem hình: http://no8.upanh.com...11111111111.bmp

Mô tả:
Kí hiệu S: Height text: 10; Justify text: MC
Dẫn xuất chủ yếu:1: Height text: 5; Justify text: MR
Dẫn xuất thứ yếu:-2: Height text: 5; Justify text: ML
Bán kính đường tròn là: 10

Dữ kiện đầu vào (input):
1/- Kí hiệu:S
2/- Dẫn xuất chủ yếu:1
3/- Dẫn xuất thứ yếu:2
4/- Màu sắc của polyline (định bằng số - có thể giới hạn từ 1-9)

Dữ kiện đầu ra: Đường polyline khép kín đi qua tâm các đường tròn dẫn xuất với màu sắc định trước.
Xin chân thành cám ơn các anh chị đã quan tâm. Mặc dù là một vấn đề rất nhỏ - nhưng cảm thấy thật khó khăn!
  • 0

#2 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 18 July 2012 - 07:10 AM

Up file cad í.
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#3 lý nhẹ

lý nhẹ

    biết zoom

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

Đã gửi 18 July 2012 - 05:47 PM

file CAD chứa dẫn xuất mẫu down tại đây:
1/- http://www.cadviet.c..._danxuatmau.dwg
2/- http://mup5.com/68413
Cám ơn anh Duy rất nhiều!

Em có viết sẵn một hộp thoại nhập dữ liệu:

SOSO : dialog {
label = "NOI DAN XUAT";
: boxed_column {
label = "NHAP DU LIEU";
: edit_box {
key = "Dt1";
label = "Ki hieu:";
edit_width = 5;
mnemonic = "K";
value = "S";
}
: edit_box {
key = "Dt2";
label = "Dan xuat chu yeu:";
edit_width = 5;
mnemonic = "D";
value = "1";
}
: edit_box {
key = "Dt3";
label = "Dan xuat thu yeu:";
edit_width = 5;
mnemonic = "Da";
value = "2";
}
: popup_list {
key = "Dt4";
label = "Chon mau polyline:";
width = 5;
value = "1";
}
}
: boxed_row {
: button {
key = "accept";
label = " Okei ";
is_default = true;
}
: button {
key = "cancel";
label = " Cancel ";
is_default = false;
is_cancel = true;
}
}
}

Hình đã gửi


  • 0

#4 mathan

mathan

    biết vẽ rectang

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

Đã gửi 19 July 2012 - 05:04 PM

Mình còn điều thắc mắc:
Khi tìm được chữ theo ký hiệu rồi
hoặc vẽ vòng tròn luôn ==> vậy thì k quan tâm tới 2 cái dẫn xuất
hay cần kiểm tra gần chữ đó có cái dẫn xuất chủ yếu và thứ yếu có bằng số nhập vào nữa không rùi mới vẽ vòng tròn và pline bạn nhỉ.
  • 0
-----------
Hình đã gửi Hãy chia sẻ để thấy có được nhiều hơn điều mình muốn!
Best regard,

#5 lý nhẹ

lý nhẹ

    biết zoom

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

Đã gửi 19 July 2012 - 06:14 PM

Trước tiên xin chân thành cám ơn mathan và tất cả các anh chị em đã quan tâm đến topic này và tham gia hướng dẫn tôi!

Thưa bạn trong môi trường vẽ mà tôi giả định có sẵn rất nhiều nhóm đối tượng mà tôi mô tả (mỗi nhóm bao gồm: {Một vòng tròn + Kí hiệu + Dẫn xuất chủ yếu + Dẫn xuất thứ yếu (không bắt buộc) + những thành phần khác mà ta cần kiểm tra nữa - vị trí tương đối của các thành phần được ràng buộc bằng các kích thước như minh họa trong file: danxuatmau.dwg mà tôi đã up lên).

Mình căn cứ vào: Kí hiệu trước --> dẫn xuất chủ yếu --> dẫn xuất thứ yếu (nếu có) ===> Sau khi lọc tìm được một nhóm như mình đã định nghĩa trước, chương trình sẽ Return Values: Tọa độ tâm vòng tròn của nhóm đối tượng tương ứng (trong môi trường vẽ có nhiều nhóm trùng nhau --> Chương trình sẽ trả ra một danh sách tọa độ tâm --> tiếp theo chương trình nối kín các tọa độ này bằng một Polyline).

Cần thiết phải truy cứu đến dẫn xuất chủ yếu (thậm chí thứ yếu) để phân biệt với các nhóm khác tương tự cùng nằm sẵn trong môi trường vẽ! VD: Nhóm 1: {S;1;1}, nhóm 2: {S;1:2}, nhóm 3: [A;5;1} ...

Mong chờ sự hồi âm của các anh chị!

PS:
1/- Có thể thay thế tọa độ tâm vòng tròn bằng tọa độ Insertpoint của text kí hiệu cũng được - sau đó nối chúng lại bằng một polyline khép kín!
2/- Có anh chị em nào cao thủ về DCL, có thể giúp mình sửa list sổ xuống của màu sắc thành dạng trực quan như hình vẽ sau được không?! Chân thành cám ơn!

Hình đã gửi


  • 0

#6 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 20 July 2012 - 07:59 AM

Trước tiên xin chân thành cám ơn mathan [i]và tất cả các 2/-
.......
Có anh chị em nào cao thủ về DCL, có thể giúp mình sửa list sổ xuống của màu sắc thành dạng trực quan như hình vẽ sau được không?! Chân thành cám ơn!













Hình đã gửi


Bạn thử cái này nhé: (Xổ như hình của bạn DCL không có hỗ trợ)

(defun c:tde (/ id vdtdcl_tieude fdcl_tieude dclres_tieude col)
(setq dclres_tieude (list
"SOSO : dialog {"
" label = \"NOI DAN XUAT\";"
" : boxed_column {"
" label = \"NHAP DU LIEU\";"
" : edit_box {"
" key = \"Dt1\";"
" label = \"Ki hieu:\";"
" edit_width = 5;"
" mnemonic = \"K\";"
" value = \"S\";"
" } "
" : edit_box {"
" key = \"Dt2\";"
" label = \"Dan xuat chu yeu:\";"
" edit_width = 5;"
" mnemonic = \"D\";"
" value = \"1\";"
" } "
" : edit_box {"
" key = \"Dt3\";"
" label = \"Dan xuat thu yeu:\";"
" edit_width = 5;"
" mnemonic = \"Da\";"
" value = \"2\";"
" }"
" :row{"
" : text {"
" label = \"Chon mau polyline:\";"
" }"
" :column{spacer;"
" : image_button {"
" key = \"tieude\";"
" vertical_margin = none;"
" horizontal_margin = none;"
" fixed_height = true;"
" fixed_width = true;"
" width = 3;"
" height = 1.5;"
" alignment = left;"
" color = 1;"
"}"
" }"
" }//row"
" }"
" : boxed_row {"
" : button {"
" key = \"accept\";"
" label = \" Okei \";"
" is_default = true;"
" }"
" : button {"
" key = \"cancel\";"
" label = \" Cancel \";"
" is_default = false;"
" is_cancel = true;"
" }"
" }"
" }"
))
(setq
vdtdcl_tieude (vl-filename-mktemp "vdt_tieude.dcl")
fdcl_tieude (open vdtdcl_tieude "w")
)
(foreach ll dclres_tieude
(write-line ll fdcl_tieude)
)
(close fdcl_tieude)


(setq id (load_dialog vdtdcl_tieude))
(if (not (new_dialog "SOSO" id)) (exit))
(setq col 1)
(action_tile "tieude" "(if (setq col (acad_colordlg col)) (fill-rec \"tieude\" col ))")
(start_dialog)
(unload_dialog id)
(vl-file-delete vdtdcl_tieude)
)
;;
(defun fill-rec (MyTile col / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y col)
(end_image)
)




  • 4

#7 12123

12123

    Chưa sử dụng CAD

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

Đã gửi 20 July 2012 - 09:06 AM

Cảm ơn anh Tue_NV thật nhiều nhé!
Vấn đề màu mè như vậy xem như đã ổn - chúng ta nên tập trung vào vấn đề nội dung!
  • 0

#8 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 20 July 2012 - 10:40 AM

Bạn lập nhiều nick để làm gì ???
  • 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


#9 12123

12123

    Chưa sử dụng CAD

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

Đã gửi 20 July 2012 - 11:56 AM

Lập nhiều nick? tại hôm đầu post câu hỏi bị anh (ketxu) báo lỗi, hôm sau lại báo lỗi - nên tui cứ tưởng nick đó sẽ bị unset chứ - mới phải mở thêm cái này nè, mỗi nick online bằng một máy tính vì vậy khi xài máy nào thì online bằng nick đó! Điều này đâu có vi phạm nội quy diễn dàn mình đâu anh? Thấy cách này cũng tiện nên để sài luôn đó chứ - nếu anh không thích thì unset đi một cái - tùy anh chọn - cái nào cũng được!

Anh chị em có ý kiến nào về vấn đề chúng tôi đã hỏi không?!
  • 0

#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 20 July 2012 - 01:46 PM

Cảm ơn anh Tue_NV thật nhiều nhé!
Vấn đề màu mè như vậy xem như đã ổn - chúng ta nên tập trung vào vấn đề nội dung!

Không biết các bác thấy sao chứ Tue_NV tôi thấy tập trung không có nổi????
Cùng một người nhưng hỏi bằng nick này nhưng lại trả lời tôi bằng cái nick khác?
Tôi thấy tôi trả lời nhiệt tình, sao lại ......?
  • 1

#11 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 20 July 2012 - 02:03 PM

Cảm ơn anh Tue_NV thật nhiều nhé!
Vấn đề màu mè như vậy xem như đã ổn - chúng ta nên tập trung vào vấn đề nội dung!

Hề hề hề,
Thế cái nội dung này có dùng được không hè???


(defun c:lndt (/ oldos oldco s d1 d2 ss plst p1 p2 ss1 ss2 )
(vl-load-com)
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq oldco (getvar "cecolor"))
(setq s (getstring "\n Nhap ky hieu cua nhom: ")
d1 (getstring "\n Nhap ky tu dan xuat thu nhat: ")
d2 (getstring "\n Nhap ky tu dan xuat thu hai: ")
ss (acet-ss-to-list (ssget "x" (list (cons 0 "text") (cons 1 s) (cons 72 1) (cons 73 2) (cons 40 10))))
plst (list) )
(foreach d ss
(setq p1 (cdr (assoc 11 (entget d)))
ss1 (ssget "f" (list p1 (setq p2 (list (+ (car p1) 11) (- (cadr p1) 6))))
(list (cons 0 "text") (cons 40 5) (cons 1 d1) (cons 72 2) (cons 73 2)))
)
(if (and ss1 (/= d2 ""))
(setq ss2 (ssget "f" (list p2 (list (+ (car p2) 5) (cadr p2)))
(list (cons 0 "text") (cons 40 5) (cons 1 d2) (cons 72 0) (cons 73 2))) )
)
(if ss2
(setq plst (append plst (list p1)))
(if (and ss1 (= d2 ""))
(setq plst (append plst (list p1)))
)
)
)
(setvar "cecolor" "1")
(command "pline" )
(foreach p plst
(command p)
)
(command "c")

(setvar "cecolor" oldco)
(setvar "osmode" oldos)
(princ)
)


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

#12 lý nhẹ

lý nhẹ

    biết zoom

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

Đã gửi 20 July 2012 - 05:40 PM

Trước hết xin chân thành cám ơn sự nhiệt tình chỉ bảo của Bác Phamthanhbinh, đồng thời cũng xin được Bác Tue_NV thứ lỗi - thật sự không ngờ rằng việc dùng 2 nick trên diễn đãn này làm Bác bực mình - tôi hứa từ nay sẽ chỉ xài một nick mà thui, MOD nào có thẩm quyền vui lòng unset dzùm tôi nick: 12123 có được không ạ!

@ Thưa Bác Tue_NV, chân thành biết ơn Bác đã sửa lại DCL của tôi, thực sự là rất ấn tượng, và tôi rất trân trọng vì biết được mức độ trực quan của hộp thoại đó đối với DCL đã được Bác khai thát tối đa, Lúc trước tôi chỉ định làm một danh sách xổ xuống bao gồm: (1;2;3...9) tương ứng theo 9 màu cơ bản (index color). Trước khi nhận được trả lời của Bác - mọi sự đối với tôi là một giấc mơ Bác ạ! Thật sự như vậy! Mong rằng Bác có thể rộng lượng mà bao dung cho tôi!

@ Thưa Bác Phamthanhbinh, tôi đã thử trực tiếp chương trình của Bác trên file: danxuatmau.dwg, nhưng bị báo lỗi: ; error: Function cancelled, Bác vui lòng kiểm tra lại giúp có được không ạ! Chân thành cám ơn sự nhiệt tình của Bác một lần nữa!
  • 0

#13 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 21 July 2012 - 07:20 AM

Trước tiên xin chân thành cám ơn mathan và tất cả các anh chị em đã quan tâm đến topic này và tham gia hướng dẫn tôi!

Thưa bạn trong môi trường vẽ mà tôi giả định có sẵn rất nhiều nhóm đối tượng mà tôi mô tả (mỗi nhóm bao gồm: {Một vòng tròn + Kí hiệu + Dẫn xuất chủ yếu + Dẫn xuất thứ yếu (không bắt buộc) + những thành phần khác mà ta cần kiểm tra nữa - vị trí tương đối của các thành phần được ràng buộc bằng các kích thước như minh họa trong file: danxuatmau.dwg mà tôi đã up lên).

Mình căn cứ vào: Kí hiệu trước --> dẫn xuất chủ yếu --> dẫn xuất thứ yếu (nếu có) ===> Sau khi lọc tìm được một nhóm như mình đã định nghĩa trước, chương trình sẽ Return Values: Tọa độ tâm vòng tròn của nhóm đối tượng tương ứng (trong môi trường vẽ có nhiều nhóm trùng nhau --> Chương trình sẽ trả ra một danh sách tọa độ tâm --> tiếp theo chương trình nối kín các tọa độ này bằng một Polyline).

Cần thiết phải truy cứu đến dẫn xuất chủ yếu (thậm chí thứ yếu) để phân biệt với các nhóm khác tương tự cùng nằm sẵn trong môi trường vẽ! VD: Nhóm 1: {S;1;1}, nhóm 2: {S;1:2}, nhóm 3: [A;5;1} ...
Mong chờ sự hồi âm của các anh chị!

Tue_NV không hiểu dẫn xuất chủ yếu và dẫn xuất thứ yếu nhằm mục đích gì??

Cái nữa là nếu các toạ độ tâm tạo thành đa giác lồi thì bài toán có 1 nghiệm.
Nếu các toạ độ tâm tạo thành đa giác lõm thì bài toán có nhiều nghiệm. Giải ra không chính xác theo ý của bạn đâu?

Còn Lisp bác Bình thì thử trên file danxuatmau của bạn như vầy:
>Nhap ky hieu cua nhom: S -> Nhập S
Nhap ky tu dan xuat thu nhat:1 -> Nhập 1
Nhap ky tu dan xuat thu hai:-2 -> Nhập -2

-> Tuy nhiên, kết quả chưa chính xác
  • 1

#14 lý nhẹ

lý nhẹ

    biết zoom

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

Đã gửi 21 July 2012 - 09:05 AM

Dạ cám ơn anh VOQUANGTUE đã hướng dẫn, tại tôi chỉ nhập vào dẫn xuất thứ yếu là: "2" hihi! Em đã hiểu được rùi!

1/- Dạ trong môi trường vẽ có nhiều nhóm có định dạng tương tự, có thể phân biệt bằng kí hiệu (chữ S chẳng hạn! Và những chữ khác nữa), thêm dẫn xuất chủ yếu để phân biệt những nhóm tương đồng khác - thậm chí nếu cần thiết chúng ta còn dùng đến dẫn xuất thứ yếu nữa chứ anh! VDụ: S1-1; S1-2; S1-3...; S2-1; S2-2; S2-3...; W1-1; W1-2; W1-3; ...; F1-1; F1-2; F1-3....

2/- Vấn đề đa giác lồi lõm: thực ra, chuyện nối lại là để "làm dấu" vị trí nhóm mình cần tìm mà thui, cái mình quan tâm là kiểm tra những thành phần kèm theo nhóm đó nữa kìa! (VDụ trong file: danxuatmau.dwg, có kèm theo 50-D25 chẳng hạn!!!).

3/- "-> Tuy nhiên, kết quả chưa chính xác" không bik anh TUE có thêm cao kiến j nữa? Chuyện liên kết với hộp thoại thì không khó khăn lắm!!!

Chân thành cám ơn anh rất nhiều!
  • 0

#15 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 21 July 2012 - 09:16 AM

Dạ cám ơn anh VOQUANGTUE đã hướng dẫn, tại tôi chỉ nhập vào dẫn xuất thứ yếu là: "2" hihi! Em đã hiểu được rùi!

1/- Dạ trong môi trường vẽ có nhiều nhóm có định dạng tương tự, có thể phân biệt bằng kí hiệu (chữ S chẳng hạn! Và những chữ khác nữa), thêm dẫn xuất chủ yếu để phân biệt những nhóm tương đồng khác - thậm chí nếu cần thiết chúng ta còn dùng đến dẫn xuất thứ yếu nữa chứ anh! VDụ: S1-1; S1-2; S1-3...; S2-1; S2-2; S2-3...; W1-1; W1-2; W1-3; ...; F1-1; F1-2; F1-3....

2/- Vấn đề đa giác lồi lõm: thực ra, chuyện nối lại là để "làm dấu" vị trí nhóm mình cần tìm mà thui, cái mình quan tâm là kiểm tra những thành phần kèm theo nhóm đó nữa kìa! (VDụ trong file: danxuatmau.dwg, có kèm theo 50-D25 chẳng hạn!!!).

3/- "-> Tuy nhiên, kết quả chưa chính xác" không bik anh TUE có thêm cao kiến j nữa? Chuyện liên kết với hộp thoại thì không khó khăn lắm!!!

Chân thành cám ơn anh rất nhiều!

Nếu chỉ để "làm dấu" thôi thì Lisp trên của bác Bình đạt yêu cầu rồi bạn ạ!
Mình chỉ có ý kiến là sao bạn không tạo các Kí hiệu + Dẫn xuất chủ yếu + dẫn xuất thứ yếu thành Block thuộc tính để coding được dễ dàng hơn.
  • 0

#16 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 21 July 2012 - 11:13 AM

Dạ cám ơn anh VOQUANGTUE đã hướng dẫn, tại tôi chỉ nhập vào dẫn xuất thứ yếu là: "2" hihi! Em đã hiểu được rùi!

1/- Dạ trong môi trường vẽ có nhiều nhóm có định dạng tương tự, có thể phân biệt bằng kí hiệu (chữ S chẳng hạn! Và những chữ khác nữa), thêm dẫn xuất chủ yếu để phân biệt những nhóm tương đồng khác - thậm chí nếu cần thiết chúng ta còn dùng đến dẫn xuất thứ yếu nữa chứ anh! VDụ: S1-1; S1-2; S1-3...; S2-1; S2-2; S2-3...; W1-1; W1-2; W1-3; ...; F1-1; F1-2; F1-3....

2/- Vấn đề đa giác lồi lõm: thực ra, chuyện nối lại là để "làm dấu" vị trí nhóm mình cần tìm mà thui, cái mình quan tâm là kiểm tra những thành phần kèm theo nhóm đó nữa kìa! (VDụ trong file: danxuatmau.dwg, có kèm theo 50-D25 chẳng hạn!!!).

3/- "-> Tuy nhiên, kết quả chưa chính xác" không bik anh TUE có thêm cao kiến j nữa? Chuyện liên kết với hộp thoại thì không khó khăn lắm!!!

Chân thành cám ơn anh rất nhiều!

Hề hề hề,
Kết quả sẽ chỉ chính xác khi bản vẽ của bạn và các nhóm text cần chọn phải có cấu trúc hoàn toàn tương tự nhau. Lisp mình viết chỉ dựa vào các tham số có từ bản vẽ bạn gửi. Vì thế nếu thay đổi các tham số này bạn phải chi3ng sửa lại lisp. Đây chỉ là một ví dụ để bạn có thể hiểu được cách làm, còn tùy vào bản vẽ cụ thể của bạn để chỉnh sửa cho phù hợp.
Việc vẽ ra cái đường polyline này phụ thuộc vào thứ tự nhập các nhóm đối tượng trên bản vẽ chứ không phải là theo quy luật về vị trí của nhóm đối tựơng trên bản vẽ. Do mình không biết bạn sẽ chọn theo quy luật nào nên tạm thời để đó. Nếu bạn muốn có thể bổ sung việc sắp xếp lại cái list các point bằng các dùng hàm vl-sort với cái quy luật sort mà bạn muốn.
Chúc bạn vui.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#17 lý nhẹ

lý nhẹ

    biết zoom

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

Đã gửi 21 July 2012 - 04:06 PM

Chân thành cám ơn các anh rất nhiều!

@ Anh TUE: Ý kiến của anh tạo mỗi nhóm thành một Block thuộc tính - tôi mường tượng hiểu được ý kiến của anh! Có lẽ như vậy sẽ hợp lý hơn nhiều - nhưng do yêu cầu - mỗi nhóm đều là các text rời sắp xếp vào đúng vị trí của nó! Cám ơn anh!

@ Anh BINH: Chân thành cám ơn anh, nhưng nếu có thể sắp xếp thành một vòng liên tục thì thật tuyệt vời (để các cạnh đa giác không cắt nhau mà chạy liên tục thành một vòng khép kín - sẽ thuận tiện hơn cho việc kiểm tra)! Còn vấn đề sắp xếp mỗi nhóm vào đúng vị trí tương đối của nó, mình có thể viết một lisp khác để tổ chức sắp xếp căn cứ theo tọa độ tâm vòng tròn - cái này em tự làm được! Cám ơn anh đã nhắt!

Chúc các anh cuối tuần thật nhiều niềm vui!
  • 0

#18 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 21 July 2012 - 04:32 PM

Chân thành cám ơn các anh rất nhiều!

@ Anh TUE: Ý kiến của anh tạo mỗi nhóm thành một Block thuộc tính - tôi mường tượng hiểu được ý kiến của anh! Có lẽ như vậy sẽ hợp lý hơn nhiều - nhưng do yêu cầu - mỗi nhóm đều là các text rời sắp xếp vào đúng vị trí của nó! Cám ơn anh!

@ Anh BINH: Chân thành cám ơn anh, nhưng nếu có thể sắp xếp thành một vòng liên tục thì thật tuyệt vời (để các cạnh đa giác không cắt nhau mà chạy liên tục thành một vòng khép kín - sẽ thuận tiện hơn cho việc kiểm tra)! Còn vấn đề sắp xếp mỗi nhóm vào đúng vị trí tương đối của nó, mình có thể viết một lisp khác để tổ chức sắp xếp căn cứ theo tọa độ tâm vòng tròn - cái này em tự làm được! Cám ơn anh đã nhắt!

Chúc các anh cuối tuần thật nhiều niềm vui!

1./ Block thuộc tính có các ATT xếp đúng vào vị trí của nó thì cũng giống như các Text sắp vào đúng vị trí của nó thôi
2./ Để đánh dấu và kiểm tra không nhất thiết là phải vẽ đường Pline khép kín rồi kiểm tra, mà có thể lưu nó ra 1 vị trí ở đâu đó. Khi cần gọi nó lên và hiện sáng Grip nó lên
Nếu đã vẽ Pline rồi thì để kiểm tra cho lần sau lại phải mất công xoá Pline đó đi nữa
  • 0