Đến nội dung


Hình ảnh
- - - - -

[nhờ viết lisp] đánh số cọc bố trí trên đường tròn


  • Please log in to reply
13 replies to this topic

#1 lequanghoang

lequanghoang

    biết pan

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

Đã gửi 21 March 2014 - 03:53 PM

Vấn đề của em là:

- Cọc có thể bố trí trên đường tròn hoặc lưới ô vuông

- Cọc đánh số theo thứ tự nhất định, cụ thể là bố trí tròn thì theo chiều kim đồng hồ, từ ngoài vào trong. Bố trí lưới ô vuông thì từ trái qua phải, trên xuống dưới

- Sau khi đánh số xuất ra bảng toạ độ theo số thứ tự cọc

(ví dụ các anh có thể xem trong bản vẽ đính kèm)

 

Các phương án em đã thử:

- ATT block , array hướng tâm , edit ATT => ATT xoay theo block

- Array block k có ATT, add text tự đếm số bằng lisp => có thể làm được với số cọc khoảng 200, lệch vị trí khoảng 2 lần. Số lượng cọc tối đa phải đánh số là trên 1000 cọc 1 bản vẽ, tổng cộng 30 bản vẽ =>mất quá nhiều thời gian và phải tập trung để không sót cọc nào

- Array block, add dtext thủ công, tcount. Tương tự cũng mất chừng đó thời gian để add text.

Sau khi đánh số xong,dùng lisp xuất toạ độ để xuất ra,nhưng phải tự add số thứ tự trong file excel. Nếu bỏ qua mất 1 cọc thì đúng là thảm hoạ.

 

Kết luận là em mong được các anh giúp viết một lisp với mục đích như sau:

- Array circular được block có attribute nhưng text luôn ở góc 0 độ so với phương ngang và vị trí tương đối cố định so với tâm đường tròn

- Tcount áp dụng được cho attribute block chọn bằng cách quick select.

- Xuất toạ độ tâm cọc (có thể chọn luôn điểm tham chiếu của block = tâm cọc ) cùng với giá trị trong Attribute ( để không nhầm số hiệu cọc)

Em xin cảm ơn trước và rất mong được giúp đỡ.

Trân trọng,


  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 March 2014 - 07:03 PM

Yêu cầu cũng hay :) Nhưng mà bạn thử dự kiến xem nếu đánh 30000 cọc đó thì mất bao nhiêu thời gian ?


  • 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 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 21 March 2014 - 11:35 PM

Vấn đề của em là:

- Cọc có thể bố trí trên đường tròn hoặc lưới ô vuông

- Cọc đánh số theo thứ tự nhất định, cụ thể là bố trí tròn thì theo chiều kim đồng hồ, từ ngoài vào trong. Bố trí lưới ô vuông thì từ trái qua phải, trên xuống dưới

- Sau khi đánh số xuất ra bảng toạ độ theo số thứ tự cọc

(ví dụ các anh có thể xem trong bản vẽ đính kèm)

 

Các phương án em đã thử:

- ATT block , array hướng tâm , edit ATT => ATT xoay theo block

- Array block k có ATT, add text tự đếm số bằng lisp => có thể làm được với số cọc khoảng 200, lệch vị trí khoảng 2 lần. Số lượng cọc tối đa phải đánh số là trên 1000 cọc 1 bản vẽ, tổng cộng 30 bản vẽ =>mất quá nhiều thời gian và phải tập trung để không sót cọc nào

- Array block, add dtext thủ công, tcount. Tương tự cũng mất chừng đó thời gian để add text.

Sau khi đánh số xong,dùng lisp xuất toạ độ để xuất ra,nhưng phải tự add số thứ tự trong file excel. Nếu bỏ qua mất 1 cọc thì đúng là thảm hoạ.

 

Kết luận là em mong được các anh giúp viết một lisp với mục đích như sau:

- Array circular được block có attribute nhưng text luôn ở góc 0 độ so với phương ngang và vị trí tương đối cố định so với tâm đường tròn

- Tcount áp dụng được cho attribute block chọn bằng cách quick select.

- Xuất toạ độ tâm cọc (có thể chọn luôn điểm tham chiếu của block = tâm cọc ) cùng với giá trị trong Attribute ( để không nhầm số hiệu cọc)

Em xin cảm ơn trước và rất mong được giúp đỡ.

Trân trọng,

Hề hề hề,

(ví dụ các anh có thể xem trong bản vẽ không được đính kèm)


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

#4 lequanghoang

lequanghoang

    biết pan

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

Đã gửi 22 March 2014 - 07:20 AM

Em đã chọn file upload rồi mà ? 

http://up.4share.vn/...1/danhsococ.dwg

 

Em up lại link download để tiện hơn.


  • 0

#5 lequanghoang

lequanghoang

    biết pan

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

Đã gửi 22 March 2014 - 07:32 AM

Yêu cầu cũng hay :) Nhưng mà bạn thử dự kiến xem nếu đánh 30000 cọc đó thì mất bao nhiêu thời gian ?

 

Em giả sử 5s 1 lần kích chuột để chèn số hiệu cọc, tổng số cọc em chỉ 15000 thôi (bản vẽ lớn nhất là ~1200 cọc,các bản vẽ khác có thể ít hơn) thì sẽ mất 21h cho phần đánh số.

Xong công đoạn đó thì kiểm tra, rồi xuất toạ độ, việc này mất thời gian hơn để tránh nhầm vị trí hoặc sót cọc thì 15s 1 lần kích ( cần phải theo đúng thứ tự như trên nữa ) , sẽ mất khoảng 62.5h cho phần này.

Tổng cộng sẽ mất 83.5h chưa kể chỉnh sửa sai sót. Nếu một ngày làm 8 tiếng chỉ dành cho việc này thì sẽ mất hơn 10 ngày. Mà khổ nỗi việc cứ đến đều đều như vậy. Hè hè. Em úp lại file lên cadviet rồi. Nếu ngại down host ngoài thì các anh down ở đây nhé. Mong được các anh giúp đỡ.

http://www.cadviet.c...8_danhsococ.dwg


  • 0

#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 22 March 2014 - 09:14 AM

Vấn đề của em là:

- Cọc có thể bố trí trên đường tròn hoặc lưới ô vuông

- Cọc đánh số theo thứ tự nhất định, cụ thể là bố trí tròn thì theo chiều kim đồng hồ, từ ngoài vào trong. Bố trí lưới ô vuông thì từ trái qua phải, trên xuống dưới

- Sau khi đánh số xuất ra bảng toạ độ theo số thứ tự cọc

(ví dụ các anh có thể xem trong bản vẽ đính kèm)

 

Các phương án em đã thử:

- ATT block , array hướng tâm , edit ATT => ATT xoay theo block

- Array block k có ATT, add text tự đếm số bằng lisp => có thể làm được với số cọc khoảng 200, lệch vị trí khoảng 2 lần. Số lượng cọc tối đa phải đánh số là trên 1000 cọc 1 bản vẽ, tổng cộng 30 bản vẽ =>mất quá nhiều thời gian và phải tập trung để không sót cọc nào

- Array block, add dtext thủ công, tcount. Tương tự cũng mất chừng đó thời gian để add text.

Sau khi đánh số xong,dùng lisp xuất toạ độ để xuất ra,nhưng phải tự add số thứ tự trong file excel. Nếu bỏ qua mất 1 cọc thì đúng là thảm hoạ.

 

Kết luận là em mong được các anh giúp viết một lisp với mục đích như sau:

- Array circular được block có attribute nhưng text luôn ở góc 0 độ so với phương ngang và vị trí tương đối cố định so với tâm đường tròn

- Tcount áp dụng được cho attribute block chọn bằng cách quick select.

- Xuất toạ độ tâm cọc (có thể chọn luôn điểm tham chiếu của block = tâm cọc ) cùng với giá trị trong Attribute ( để không nhầm số hiệu cọc)

Em xin cảm ơn trước và rất mong được giúp đỡ.

Trân trọng,

- file Cad chả có block nào cả, làm sao Insert được ?

- file tọa độ tâm cọc định dạng thế nào ?

Nói chung là với số liệu sơ sài thế này thì sau vài ngày bài này sẽ trôi .. ra biển cả thôi.


  • -1

#7 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 22 March 2014 - 10:30 AM

Nếu không qui định vị trí cọc số 1 thì xài cái này cũng được. Text chưa có màu mè gì cả.

Chưa tính tới rải vuông và xuất tọa độ.

 

http://www.cadviet.c...168_tmp1_27.lsp


  • 1

#8 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 22 March 2014 - 11:10 AM

Em giả sử 5s 1 lần kích chuột để chèn số hiệu cọc, tổng số cọc em chỉ 15000 thôi (bản vẽ lớn nhất là ~1200 cọc,các bản vẽ khác có thể ít hơn) thì sẽ mất 21h cho phần đánh số.

Xong công đoạn đó thì kiểm tra, rồi xuất toạ độ, việc này mất thời gian hơn để tránh nhầm vị trí hoặc sót cọc thì 15s 1 lần kích ( cần phải theo đúng thứ tự như trên nữa ) , sẽ mất khoảng 62.5h cho phần này.

Tổng cộng sẽ mất 83.5h chưa kể chỉnh sửa sai sót. Nếu một ngày làm 8 tiếng chỉ dành cho việc này thì sẽ mất hơn 10 ngày. Mà khổ nỗi việc cứ đến đều đều như vậy. Hè hè. Em úp lại file lên cadviet rồi. Nếu ngại down host ngoài thì các anh down ở đây nhé. Mong được các anh giúp đỡ.

http://www.cadviet.c...8_danhsococ.dwg

Hề hề hề,

Chuyện thời gian và tiền bạc của bạn không phải là vấn đề mọi người cần quan tâm. Vấn đề là bạn cần upload file chứa cái kết quả bạn cần có cũng như chứa cái block thuộc tinh mà bạn cần aray đồng thời cho biết rõ thuộc tinh nào cần giữ nguyên trạng khi aray cũng như thuộc tính nào cần chuyển về góc 0 độ. 

Một điều nữa bạn cần lưu ý là việc aray này cần có các tham số về số lượng cũng như tâm aray và các tham số này bạn sẽ lấy ở đâu???

Hy vọng rằng bạn hiểu rõ yêu cầu của bạn và nói được để người khác không giỏi chuyên môn của bạn có thể hiểu đúng cái bạn cần. 


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

#9 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 22 March 2014 - 12:29 PM

Cái này có xuất tọa độ nhưng ra file txt trong thu mục hiện hành.

Cái bạn cần là viêt text thôi chứ có thấy cái att block nào đâu.

 

http://www.cadviet.c...168_tmp1_28.lsp


  • 1

#10 lequanghoang

lequanghoang

    biết pan

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

Đã gửi 22 March 2014 - 05:10 PM

http://www.cadviet.c...danhsococ_1.dwg

Em đã làm lại file cad chi tiết hơn cùng các bước mà em nghĩ là khả thi (theo em nghĩ thôi). File đầu tiên em up là kết quả trực quan,xin lỗi mọi người. Hè hè.

Mọi người có thể xem file cad để hiểu ý em hơn và trực quan hơn.

 

1- Cái thời gian em tính là để trả lời câu hỏi của anh ketxu thôi.

2- Array thì góc xoay phải tính toán sao cho khoảng cách giữa 2 cọc liên tiếp (gần bằng độ dài cung tròn) = khoảng cách định trước yêu cầu (ví dụ 1.5m,1.7m,.. khoảng cách này thay đổi theo từng bản vẽ cụ thể) nên em nghĩ có thể tự làm ? Em chưa nghĩ ra cách có thể làm tự động được....

Rotation angle của text sẽ chuyển về 0 độ, có thể thay đổi hàng loạt trong properties (ctrl+1).

 

Em nghĩ công việc mất thời gian này khá quen thuộc với nhiều bạn khi bố trí trong shopdrawing và triển khai thi công cọc. Nên em nghĩ trao đổi này cũng khá hữu dụng với nhiều người.  :)

Xin cảm ơn.


  • 0

#11 lequanghoang

lequanghoang

    biết pan

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

Đã gửi 22 March 2014 - 05:48 PM

Cái này có xuất tọa độ nhưng ra file txt trong thu mục hiện hành.

Cái bạn cần là viêt text thôi chứ có thấy cái att block nào đâu.

 

http://www.cadviet.c...168_tmp1_28.lsp

Cảm ơn anh nhiều!

Lisp này của anh viết đúng với ý tưởng của em rồi nhưng nhờ anh chỉnh giúp em lại một số điểm như:

- Cọc số 1 nằm ngay trên giao của đường tròn và đường tâm (quadrant ngoài cùng bên trái)

- File txt toạ độ xuất ra tên file cad, nếu xuất lần 2 thì thêm (số thự tự). nghĩa là tên_bản_vẽ (stt) để dễ quản lí và không nhầm lẫn thôi ạ. 

Lisp xài hay thiệt  :D

Lisp này thì cọc phải là đường tròn, ta array đối tượng cọc,bố trí hình học xong hết rồi dùng lisp đánh số và xuất tọa độ.Good job! Cảm ơn anh!


  • 0

#12 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 23 March 2014 - 03:30 PM

Thử cái này xem.

http://www.cadviet.c...168_tmp1_29.lsp


  • 1

#13 lequanghoang

lequanghoang

    biết pan

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

Đã gửi 29 March 2014 - 05:48 PM

Thử cái này xem.

http://www.cadviet.c...168_tmp1_29.lsp

 

Em cảm ơn anh nhiều, em đã thử nhưng gặp vấn đề nhỏ. Khi em dời UCS sao cho tâm đường tròn bố trí là (X=1 2808.6, Y= 8570.4).Rồi dtext để lisp nhận style text ( theo em hiểu như vậy ). Rồi chạy lisp, thì lại k thực thi được, hoặc giả như text quá lớn hoặc quá nhỏ, k thể thấy được. Anh có thể sửa lại một chút để có thêm bước nhận định dạng text không a? Em cũng up lên đây file cad để a kiểm tra giúp em liệu em hiểu có đúng k.Cảm ơn anh trước ạ.

 

http://www.cadviet.c...314154tk005.dwg


  • 0

#14 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 30 March 2014 - 12:33 PM

Trước khi chọn các vòng tròn bạn phải chọn một cái text có sẵn nào đó, các text ghi mới sẽ có chiều cao và style theo text đó.

http://www.cadviet.c...168_tmp1_30.lsp


  • 1