Đến nội dung


Hình ảnh
- - - - -

Lisp xuất kích thước tổng thể của solid sang excell


  • Please log in to reply
6 replies to this topic

#1 canhgiap

canhgiap

    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 May 2010 - 05:17 PM

Chào các bác,

em muốn có mội lisp xuất các kích thước tổng thể của các solid trong autocad 3d sang excell. các bác dúp em với

cám ơn các bác rất nhiều
  • 0

#2 tuannguyen314169

tuannguyen314169

    biết lệnh ddedit

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

Đã gửi 29 May 2010 - 08:04 PM

Chào các bác,

em muốn có mội lisp xuất các kích thước tổng thể của các solid trong autocad 3d sang excell. các bác dúp em với

cám ơn các bác rất nhiều

Bác cần phải có toạ độ cụ thể của Solid mới có thể xuất qua excell được, tuy nhiên câu hỏi của bác rất chung chung nên khó hiểu, Bác có thể nói rỏ hơn. Thank you
  • 0

#3 tuannguyen314169

tuannguyen314169

    biết lệnh ddedit

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

Đã gửi 29 May 2010 - 08:05 PM

Chào các bác,

em muốn có mội lisp xuất các kích thước tổng thể của các solid trong autocad 3d sang excell. các bác dúp em với

cám ơn các bác rất nhiều

Bác cần phải có toạ độ cụ thể của Solid mới có thể xuất qua excell được, tuy nhiên câu hỏi của bác rất chung chung nên khó hiểu, Bác có thể nói rỏ hơn. Thank you
  • 0

#4 canhgiap

canhgiap

    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 May 2010 - 08:22 PM

Là thế này bác:

Bây giờ em đang vẽ hàng nội thất, đựng hình 3d bằng các solid ví dụ : cái bàn có cái mặt và 4 cái chân => em muốn hỏi là từ các chi tiết bằng solid đó có thể xuất ra kích thước của từng chi tiết của nó ra bảng excell không ví dụ: cái bàn : chân - 50 x 50 x 750 - số lượng - 4, mặt thì 600 x 900 x 25 - số lượng - 1 chẳng hạn


cám ơn bác nhiều
  • 0

#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 01 June 2010 - 11:12 AM

Là thế này bác:

Bây giờ em đang vẽ hàng nội thất, đựng hình 3d bằng các solid ví dụ : cái bàn có cái mặt và 4 cái chân => em muốn hỏi là từ các chi tiết bằng solid đó có thể xuất ra kích thước của từng chi tiết của nó ra bảng excell không ví dụ: cái bàn : chân - 50 x 50 x 750 - số lượng - 4, mặt thì 600 x 900 x 25 - số lượng - 1 chẳng hạn
cám ơn bác nhiều

Sao mình không thể lấy được các properties : Length, Width, Height trong Solid Boxđược nhỉ?
Thao tác qua Activex không có thuộc tính Length, Width, Height dành cho Solid Box.
Vậy các thuộc tính này được lấy ra như thế nào?
Mong các bác chỉ giúp để Tue_NV có thể giúp cho bạn canhgiap

Tue_NV xin cảm ơn.
  • 0

#6 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 01 June 2010 - 04:28 PM

Sao mình không thể lấy được các properties : Length, Width, Height trong Solid Boxđược nhỉ?
Thao tác qua Activex không có thuộc tính Length, Width, Height dành cho Solid Box.
Vậy các thuộc tính này được lấy ra như thế nào?
Mong các bác chỉ giúp để Tue_NV có thể giúp cho bạn canhgiap

Tue_NV xin cảm ơn.

Các properties : Length, Width, Height của Solid Box
(anh không chắc, Tue_NV kiểm tra lại nhé)

(setq ent (car (entsel "\nSelect Solid: ")))
(setq obj (vlax-ename->vla-object ent))
(vlax-invoke-method obj 'GetBoundingbox 'pt1 'pt2)
(setq tem (mapcar '- (vlax-safearray->list pt1) (vlax-safearray->list pt2)))
(princ (strcat "\nLength : " (rtos (abs(car tem)))))
(princ (strcat "\nWidth : " (rtos (abs(cadr tem)))))
(princ (strcat "\nHeight : " (rtos (abs(caddr tem)))))

  • 0

#7 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 01 June 2010 - 04:53 PM

Các properties : Length, Width, Height của Solid Box
(anh không chắc, Tue_NV kiểm tra lại nhé)

(setq ent (car (entsel "\nSelect Solid: ")))
(setq obj (vlax-ename->vla-object ent))
(vlax-invoke-method obj 'GetBoundingbox 'pt1 'pt2)
(setq tem (mapcar '- (vlax-safearray->list pt1) (vlax-safearray->list pt2)))
(princ (strcat "\nLength : " (rtos (abs(car tem)))))
(princ (strcat "\nWidth : " (rtos (abs(cadr tem)))))
(princ (strcat "\nHeight : " (rtos (abs(caddr tem)))))

Chào anh gia_bach
Em cũng đã nghĩ đến chuyện GetBoundingbox để tính các trị số Length, Width, Height của Solid Box.
Tuy nhiên, nó chỉ đúng với hình với góc xoay = 0 mà thôi. Chứ với còn góc xoay khác 0 thì không còn đúng nữa. Nếu một hình chữ nhật nó xoay một góc a (a khác 0) thì các điểm max sẽ không còn trùng với điểm phải trên và điểm min sẽ không còn trùng với điểm dưới, trái nữa-> Kết quả sẽ bị sai ngay. Còn 1 vấn đề nữa là không làm sao tìm được thuộc tính góc xoay (Rotation) của Solid Box này.

Thao tác qua Activex hoàn toàn không có. Bế tắc thật sự. Anh gia bach có nghĩ đến phương án nào để có thể lấy được thuộc tính này không? Rõ ràng bấm Ctrol+1 thì xem các thuộc tính này vẫn có.
cảm ơn anh gia_bach
  • 0