Đến nội dung


Hình ảnh
- - - - -

[Nhờ viết lisp]Rải và đánh số thứ tự cọc


  • Please log in to reply
26 replies to this topic

#21 phung_gtvt

phung_gtvt

    Chưa sử dụng CAD

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

Đã gửi 28 September 2012 - 01:09 PM

Chào các anh em trong diễn đàn,
Nhân tiện chủ đề này mình nhờ anh em viết hộ mình lisp với nội dung như sau:
Mình đang có file excel (hoặc file text) tọa độ các cọc (xem file đính kèm), mình đã có lisp tự động vẽ ra được các cọc đó (tên lisp là importxyz - file đính kèm).
Vấn đề là cái lisp này chỉ vẽ ra được các cọc theo file tọa độ đã cho nhưng không điền được tên cọc.
Anh em giúp mình xử lý vụ này với.
Cám ơn nhiều !http://www.cadviet.c...g__20120704.dwg
http://www.cadviet.c...mportxyzatt.rar
http://www.cadviet.c..._coordinate.rar
  • 0

#22 phung_gtvt

phung_gtvt

    Chưa sử dụng CAD

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

Đã gửi 29 September 2012 - 08:00 PM

Anh em nào biết mong giải quyết vấn đề trên cho mình với.
Mình đã tìm và hỏi nhiều người nhưng chưa có câu trả lời thỏa đáng.
Ở công ty mình có anh Hàn Quốc có lisp hay lắm nhưng có điều toàn tiếng Hàn nên ko làm ăn gì dc hii.
  • 0

#23 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 29 September 2012 - 09:27 PM

File Excell bạn đưa lên bị lỗi hay sao mà không mở được. Mà nhìn vào cái lisp importxy dđế sửa lại được thì phải nhờ cao thủ CV hoặc tác giả của nó mới sửa lại giúp bạn được thôi.
  • 0

#24 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 29 September 2012 - 11:19 PM

Anh em nào biết mong giải quyết vấn đề trên cho mình với.
Mình đã tìm và hỏi nhiều người nhưng chưa có câu trả lời thỏa đáng.
Ở công ty mình có anh Hàn Quốc có lisp hay lắm nhưng có điều toàn tiếng Hàn nên ko làm ăn gì dc hii.

Hề hề hề,
Bạn có thể post một khúc lisp Hàn quốc ấy lên không???
Đã là lisp thì theo mình nghĩ nó có cùng cú pháp chung chứ chả nhẽ lisp Hàn quốc khác với lisp Việt nam sao???
Có nhẽ mấy anh cu Hàn Quốc này có một ngôn ngữ lập trình khác chứ không phải lisp. Cái ngôn ngữ này nó có thể có cấu trúc gần với lisp nhưng sử dụng giao tiếp bằng tiếng Hàn chứ không phải lisp đâu.
Hề hề hề,...
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#25 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 30 September 2012 - 10:25 AM

Chào các anh em trong diễn đàn,
Nhân tiện chủ đề này mình nhờ anh em viết hộ mình lisp với nội dung như sau:
Mình đang có file excel (hoặc file text) tọa độ các cọc (xem file đính kèm), mình đã có lisp tự động vẽ ra được các cọc đó (tên lisp là importxyz - file đính kèm).
Vấn đề là cái lisp này chỉ vẽ ra được các cọc theo file tọa độ đã cho nhưng không điền được tên cọc.
Anh em giúp mình xử lý vụ này với.
Cám ơn nhiều !http://www.cadviet.c...g__20120704.dwg
http://www.cadviet.c...mportxyzatt.rar
http://www.cadviet.c..._coordinate.rar

Cái này viết thêm cho bạn nè

(defun c:dscoc(/ ss i Tue-dxf Tue-ss-list)
(defun Tue-dxf (dxf ename)(cdr(assoc dxf (entget ename))))
(defun Tue-ss-list (L-ss-vlaobj / n L Lst ssg vlaobj)
(mapcar 'set '(ssg vlaobj) L-ss-vlaobj)
(setq L (sslength ssg))
(Repeat L
(setq ename (ssname ssg (setq L (1- L))))
(setq Lst (cons (if vlaobj (vlax-ename->vla-object ename) ename) Lst))
)
)
(setq i 0)
(princ "\n Chon cac coc nho can danh so : ")
(if (setq ss (ssget '((0 . "CIRCLE") (40 . 0.25))))
(foreach x (reverse (Tue-ss-list (list ss)))
(entmake (list (cons 0 "TEXT") (cons 1 (itoa (setq i (1+ i)))) (cons 40 0.30)
(cons 10 (mapcar '+ (Tue-dxf 10 x) '(0.0 0.5 0.0)))
(cons 11 (mapcar '+ (Tue-dxf 10 x) '(0.0 0.5 0.0)))
))
)
)
)
-> Lisp lọc chọn các cọc nhỏ và đánh số thứ tự như file kèm theo
  • 0

#26 phung_gtvt

phung_gtvt

    Chưa sử dụng CAD

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

Đã gửi 01 October 2012 - 08:55 PM

Cái này viết thêm cho bạn nè


(defun c:dscoc(/ ss i Tue-dxf Tue-ss-list)
(defun Tue-dxf (dxf ename)(cdr(assoc dxf (entget ename))))
(defun Tue-ss-list (L-ss-vlaobj / n L Lst ssg vlaobj)
(mapcar 'set '(ssg vlaobj) L-ss-vlaobj)
(setq L (sslength ssg))
(Repeat L
(setq ename (ssname ssg (setq L (1- L))))
(setq Lst (cons (if vlaobj (vlax-ename->vla-object ename) ename) Lst))
)
)
(setq i 0)
(princ "\n Chon cac coc nho can danh so : ")
(if (setq ss (ssget '((0 . "CIRCLE") (40 . 0.25))))
(foreach x (reverse (Tue-ss-list (list ss)))
(entmake (list (cons 0 "TEXT") (cons 1 (itoa (setq i (1+ i)))) (cons 40 0.30)
(cons 10 (mapcar '+ (Tue-dxf 10 x) '(0.0 0.5 0.0)))
(cons 11 (mapcar '+ (Tue-dxf 10 x) '(0.0 0.5 0.0)))
))
)
)
)
-> Lisp lọc chọn các cọc nhỏ và đánh số thứ tự như file kèm theo


Cám ơn sự giúp đỡ của anh em.
Lisp "dscoc" đánh số rất hay nhưng vẫn chưa thỏa mãn với câu hỏi của mình.
Ví dụ, mình nhận được bản vẽ thiết kế với 200 cọc (bản vẽ pdf hoặc bản vẽ giấy), sau đó mình vẽ lại bản vẽ đó, tính được tọa độ các cọc lưu thành file excel rồi, nếu lấy lisp "dscoc" áp dụng vào thì tên cọc không theo thứ tự với bản vẽ thiết kế (không khớp với thứ tự cọc theo list tọa độ).
Anh em nào có lisp mà gắn được mối liên quan giữa tọa độ vào tên cọc, sau đó vẽ luôn ra bản vẽ cọc kèm theo tên cọc luôn.
Mình không biết về lập trình hay viết lisp gì cả nên nhờ anh em giúp.
Mình gửi anh em file excel tọa độ làm ví dụ
http://www.cadviet.c...file_toa_do.rar
  • 0

#27 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 04 October 2012 - 10:57 AM


Cám ơn sự giúp đỡ của anh em.
Lisp "dscoc" đánh số rất hay nhưng vẫn chưa thỏa mãn với câu hỏi của mình.
Ví dụ, mình nhận được bản vẽ thiết kế với 200 cọc (bản vẽ pdf hoặc bản vẽ giấy), sau đó mình vẽ lại bản vẽ đó, tính được tọa độ các cọc lưu thành file excel rồi, nếu lấy lisp "dscoc" áp dụng vào thì tên cọc không theo thứ tự với bản vẽ thiết kế (không khớp với thứ tự cọc theo list tọa độ).
Anh em nào có lisp mà gắn được mối liên quan giữa tọa độ vào tên cọc, sau đó vẽ luôn ra bản vẽ cọc kèm theo tên cọc luôn.
Mình không biết về lập trình hay viết lisp gì cả nên nhờ anh em giúp.
Mình gửi anh em file excel tọa độ làm ví dụ
http://www.cadviet.c...file_toa_do.rar

Hề hề hề,
Theo thiển ý cá nhân, vấn đề bạn đặt ra không quá khó. Nếu bạn đồng ý phương án sau đây thì mình tin rằng sẽ làm được.
1/- Bạn hãy tạo các block cọc và đánh số các block này. (Nhất là khi bạn thường xuyên phải sử dụng tới việc vẽ cọc có cấu trúc tương tự nhau)
2/- Dựa vào file excel để insert các block này với tên tuổi và tọa độ của cọc vào bản vẽ.
Nếu bạn đồng ý thì hãy gửi ví dụ một vài bản vẽ các block cọc của bạn, mình sẽ giúp viết phần lisp insert các bolock này vào bản vẽ.
Hề hề hề,...
PS: Trên diễn đàn đang có lớp học online về kỹ thuật lập trình bằng Autolisp. nếu bạn quan tâm và muốn học có thể tham gia vào đó. Điều này sẽ có lợi cho công việc của bạn nhiều hơn nhất là khi bạn phải làm việc nhiều với lisp.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.