Đến nội dung


Hình ảnh

Xin chỉ giáo về viết lệnh insert trong Excel để paste sang CAD


  • Please log in to reply
8 replies to this topic

#1 Kỹ sư

Kỹ sư

    biết vẽ arc

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

Đã gửi 28 November 2009 - 11:52 AM

Em có 1 file excel với tọa độ của 1 loạt điểm, và nhiệm vụ của em là chèn 1 block vào các điểm đó trên AutoCAD. Em muốn viết 1 loạt dòng lệnh insert trong excel để khi cop vào AutoCAD Text Window (F2) thì nó thực thi luôn.

Ví dụ điểm có tọa độ như sau: y = 1306774.191 x = 631917.785,
em viết dòng lệnh: _i moc 631917.785,1306774.191 1 1 0 DTHT

Sau khi em cop các dòng lệnh đó thì nó không chèn luôn mà hiện lên cửa số insert bắt em chọn lại block moc, sau đó nó mới chèn đúng vào tọa độ em đã gõ trong dòng lệnh.

Các bác kiểm tra và sửa hộ em dòng lệnh trên với ạ, sao cho để khi cop sang CAD, nó "âm thầm" chèn luôn block em đã chỉ định.

Thanks!
  • 0

Hình đã gửi


#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 28 November 2009 - 02:55 PM

Em có 1 file excel với tọa độ của 1 loạt điểm, và nhiệm vụ của em là chèn 1 block vào các điểm đó trên AutoCAD. Em muốn viết 1 loạt dòng lệnh insert trong excel để khi cop vào AutoCAD Text Window (F2) thì nó thực thi luôn.

Ví dụ điểm có tọa độ như sau: y = 1306774.191 x = 631917.785,
em viết dòng lệnh: _i moc 631917.785,1306774.191 1 1 0 DTHT

Sau khi em cop các dòng lệnh đó thì nó không chèn luôn mà hiện lên cửa số insert bắt em chọn lại block moc, sau đó nó mới chèn đúng vào tọa độ em đã gõ trong dòng lệnh.

Các bác kiểm tra và sửa hộ em dòng lệnh trên với ạ, sao cho để khi cop sang CAD, nó "âm thầm" chèn luôn block em đã chỉ định.

Thanks!

Bạn nghiên cứu hàm nối chuỗi trong Excel : CONCATENATE(argument1, argument2,....)
và hàm & để nối chuỗi trong Excel
Bạn hãy đọc bài viết này của Tue_NV :
Bai viet so 4; so 7; so 16
  • 1

#3 Kỹ sư

Kỹ sư

    biết vẽ arc

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

Đã gửi 28 November 2009 - 05:27 PM

Bạn nghiên cứu hàm nối chuỗi trong Excel : CONCATENATE(argument1, argument2,....)
và hàm & để nối chuỗi trong Excel
Bạn hãy đọc bài viết này của Tue_NV :
Bai viet so 4; so 7; so 16


Cảm ơn bác!
Nhưng ý của em là hỏi xem dòng lệnh em gõ như trên để insert block sai chỗ nào mà khi cop qua CAD nó không insert luôn block em đã chỉ định, mà bắt em chọn lại block.

Cụ thể là em có 2 file excel và CAD như thế này
File Excel
File CAD

Và bây giờ em muốn chèn block "phaole" và "phaochan" vào các điểm tương ứng trong AutoCAD. (trong file CAD đã có các block phaole và phaochan)

Thanks!
  • 0

Hình đã gửi


#4 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 28 November 2009 - 09:14 PM

Cảm ơn bác!
Nhưng ý của em là hỏi xem dòng lệnh em gõ như trên để insert block sai chỗ nào mà khi cop qua CAD nó không insert luôn block em đã chỉ định, mà bắt em chọn lại block.

Cụ thể là em có 2 file excel và CAD như thế này
File Excel
File CAD

Và bây giờ em muốn chèn block "phaole" và "phaochan" vào các điểm tương ứng trong AutoCAD. (trong file CAD đã có các block phaole và phaochan)

Thanks!

Bạn nghiên cứu lại hàm CONCATENATE kết hợp với hàm & để nối chuỗi trong Excel
Đoạn Code để paste vào Excel là code của AutoLisp
Cấu trúc của code để Insert Block đây:
(command "insert" "phaochan" '(1315089.4 625054.1 0) 1 1 0 "Phao14")
Chú ý rằng vì Block của bạn là Block thuộc tính nên trong CAD phải đặt biến Attreq = 1 đấy. Nếu không thì sai ngay.

Command: attreq
Enter new value for ATTREQ <0>: 1


Tue_NV đã viết lại trong file Excel cho bạn
Bạn mở Excel -> chọn ô G4 đến G10 -> copy -> vào CAD -> Pick chuột vào Command -> Ấn Ctrol+V
File Excel Tue_NV đã làm cho bạn đây :
http://www.cadviet.c.../ben_phao_2.rar
  • 1

#5 Kỹ sư

Kỹ sư

    biết vẽ arc

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

Đã gửi 29 November 2009 - 12:30 AM

Bạn nghiên cứu lại hàm CONCATENATE kết hợp với hàm & để nối chuỗi trong Excel
Đoạn Code để paste vào Excel là code của AutoLisp
Cấu trúc của code để Insert Block đây:
(command "insert" "phaochan" '(1315089.4 625054.1 0) 1 1 0 "Phao14")
Chú ý rằng vì Block của bạn là Block thuộc tính nên trong CAD phải đặt biến Attreq = 1 đấy. Nếu không thì sai ngay.

Command: attreq
Enter new value for ATTREQ <0>: 1


Tue_NV đã viết lại trong file Excel cho bạn
Bạn mở Excel -> chọn ô G4 đến G10 -> copy -> vào CAD -> Pick chuột vào Command -> Ấn Ctrol+V
File Excel Tue_NV đã làm cho bạn đây :
http://www.cadviet.c.../ben_phao_2.rar



Đây rồi, hàng ngon đây rồi. Thanks bác nhé! :cheers:
  • 0

Hình đã gửi


#6 Kỹ sư

Kỹ sư

    biết vẽ arc

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

Đã gửi 29 November 2009 - 07:21 AM

Tiện đây bác cho em hỏi, có "chỗ" nào có thể cho em tham khảo về mấy thứ này không ạ? ở trong CAD có không ạ?
  • 0

Hình đã gửi


#7 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 993 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 15 August 2010 - 03:14 PM

Tiện đây bác cho em hỏi, có "chỗ" nào có thể cho em tham khảo về mấy thứ này không ạ? ở trong CAD có không ạ?

Bạn hãy sử dụng công cụ Run Script trên menu Tool.
Cách sử dụng như sau:
Bạn dùng excel để kết nối thành 1 chuỗi (Concatenate) giống như bác Tue_NV đã viết
Sau đó bạn copy dòng kết nối đó cho vào notepate rồi lưu thành file abc.scr
vào cad => tool => run script => đưa đường dẫn đến mục abc.scr vừa lưu.
Tôi ví dụ cho bạn biết nhé;
http://www.4shared.c.../VD_online.html
Chúc bạn thành công
  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#8 Hoa Trang trắng

Hoa Trang trắng

    biết vẽ ellipse

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

Đã gửi 01 November 2011 - 02:35 PM

Lúc trước em chỉ cần copy & paste vào Cad là được, nhưng sao giờ em copy paste nó báo lỗi
Command: (Command"text""33,700,0" "0.5" "" "32")
text
Current text style: "style1" Text height: 2.0000
Specify start point of text or [Justify/Style]: 33,700,0
Specify rotation angle of text <0>: 0.5
Enter text:
Command: 32 Unknown command "32". Press F1 for help.
Command: nil
vậy nghĩa là sao? Bác nào giúp em với.
  • 0

#9 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 01 November 2011 - 03:05 PM

Lúc trước em chỉ cần copy & paste vào Cad là được, nhưng sao giờ em copy paste nó báo lỗi
Command: (Command"text""33,700,0" "0.5" "" "32")
text
Current text style: "style1" Text height: 2.0000
Specify start point of text or [Justify/Style]: 33,700,0
Specify rotation angle of text <0>: 0.5
Enter text:
Command: 32 Unknown command "32". Press F1 for help.
Command: nil
vậy nghĩa là sao? Bác nào giúp em với.

Lý do :
Text style hiện hành có chiều cao khác 0 nên mới báo lỗi như thế
Bạn đưa chiều cao Text style hiện hành về bằng 0 là được (Bằng lệnh Style)
Và chiều cao của Text này sẽ lấy bằng "0.5" như trong code của bạn

Chúc thành công
  • 2