Đến nội dung


Hình ảnh
- - - - -

Làm sao kết nối autocad với visual studio


  • Please log in to reply
9 replies to this topic

#1 hoathuongphuoc

hoathuongphuoc

    biết lệnh erase

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

Đã gửi 05 November 2013 - 02:38 PM

Chào các bạn,

Các bạn cho mình hỏi, có cách nào kết nỗi giữa autocad và visual studio bằng lệnh command không. Nghĩa là khi mình đánh lệnh command thì visual studio sẽ khởi chạy. từ đó có thể lấy thông tin qua lại. Mình xin cảm ơn.


  • 0

#2 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 05 November 2013 - 03:07 PM

Rất tiếc, AutoCad không cung cấp lệnh để kết nối với Visual Studio.


  • -2

#3 hoathuongphuoc

hoathuongphuoc

    biết lệnh erase

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

Đã gửi 05 November 2013 - 05:08 PM

Nói như vậy có cách nào, khi mình click vào 1 đối tượng ví dụ như hình chữ nhật trong file autocad chẳng hạn. Thì mình sẽ lấy được kích thước của nó và hiện trên form trong vb.net không bạn.


  • 0

#4 hoathuongphuoc

hoathuongphuoc

    biết lệnh erase

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

Đã gửi 06 November 2013 - 08:48 AM

Ai pro giúp mình với. Vấn đề này quá khó với mình.


  • 0

#5 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 06 November 2013 - 09:12 AM

Nói như vậy có cách nào, khi mình click vào 1 đối tượng ví dụ như hình chữ nhật trong file autocad chẳng hạn. Thì mình sẽ lấy được kích thước của nó và hiện trên form trong vb.net không bạn.

Một câu hỏi rất chung chung.

Có nhiều cách để lấy thông tin (properties) của đối tượng (object) trong bản vẽ Autocad. 

Bạn nên tham khảo cấu trúc file autocad để biết cách truy xuất các thuộc tính này.

acadm.jpg

 

Lập trình trong AutoCad .NET có 2 hướng chính : Out-of-process và In-process.

 

1.  Out-of-process (là ứng dụng độc lập kiểu như file *.EXE)

 

2. In-process sẽ tạo file dll rồi dùng lệnh Netload -> gọi lệnh mới trong Cad

 

Nhưng trước tiên bạn phải xác định đi theo hướng nào?


  • 1

#6 hoathuongphuoc

hoathuongphuoc

    biết lệnh erase

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

Đã gửi 06 November 2013 - 10:00 AM

Tại cái project của e phụ thuộc vào file autocad. Nghĩa là e thao tác trên file autocad và dữ liệu sẽ truyền qua giao diện vb,bet. Em nghĩ e sẽ theo hướng out-Process. Nhưng e viết trên vb. mà hướng dẫn của ah thấy trên c#. Vậy e có thể áp dụng được không. Với lại có tài liệu tham khảo nào ko ah. Em xin cảm ơn. Với lại câu hỏi của em là: Em có 1 bản vẽ. trong đó có nhiều ô vuông. Giờ e click vào ô vuông đó. Thì bên giao diện form của visual studio sẽ xuất hiện thông tin của ô vuông đó. Bao gồm chiều dài, chiều rộng...


  • 0

#7 ledungtdc

ledungtdc

    Chưa sử dụng CAD

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

Đã gửi 07 November 2013 - 12:11 AM

Thực ra theo mình hiểu bạn trình bày thế này có vẻ làm người đọc khó hiểu hoặc hiểu lầm. Bạn nói thao tác trên autocad thì truyền dữ liệu qua giao diện vb, qua visual studio mình nghĩ nói thế ko đúng. VB, Visual studio là ngôn ngữ, là IDE lập trình còn cái bạn cần ở đây là truyền vào form hay chính xác hơn là bạn thao tác trên autocad thì dữ liệu sẽ được lấy và truyền lên form của một ứng dụng còn ứng dụng đó được bạn lập trình có thể là Out-of-process và In-process  bằng ngôn ngữ VB, bằng IDE visual studio.

Nếu mình hiểu như vậy là đúng thì xin trả lời thắc mắc của bạn thế này

Hoàn toàn có thể làm được việc giao tiếp giữa autocad và ứng dụng của bạn. Tuy nhiên lập trình với kiểu Out of process thì khó hơn, mệt hơn vì khi đó cad và ứng dụng của bạn chạy độc lập nhau đồng nghĩa với việc bạn phải sử dụng các API hệ thống để sau khi gọi chương trình và gọi form lên thì bắt đúng vào cái form đó và các textbox, input box... trên form để truyền giá trị vào.

Với inprocess thì đơn giản hơn nhiều vì bạn lập trình tạo component có nhúng thư viện .net của CAD vào, sau khi biên dịch bạn có file .dll thực chất là add in của cad rồi. Bạn chạy dll này bằng lệnh netload. Lúc lập trình kiểu in process bạn cũng đã phải tạo các lệnh tương ứng với nhu cầu của bạn và khi đó hoàn toàn có thể sử dụng lệnh đó trong command của cad, còn việc chọn đối tượng, lấy thuộc tính, dữ liệu... sau đó truyền lên form thì bạn hoàn toàn lập trình bằng vb.net hoặc c# thôi.

Bạn có thể tham khảo tài liệu đính kèm hoặc vào trang blog sau để tham khảo thêm nhé:

http://through-the-i...ce/autocad_net/


  • 0

#8 ledungtdc

ledungtdc

    Chưa sử dụng CAD

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

Đã gửi 07 November 2013 - 12:16 AM

Diễn đàn có lỗi gì đó nên upload file hay gửi bài thì chữ loằng ngoằng, đến lúc refresh thì chỉ còn bài. Bạn hoàn toàn có thể tìm thấy tài liệu trong web trên, nó là tài liệu của AutoCAD 2007 .NET Training.3. nếu cần có thể liên hệ với mình qua email dungtdc@gmail.com mình gửi cho


  • 0

#9 hoathuongphuoc

hoathuongphuoc

    biết lệnh erase

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

Đã gửi 07 November 2013 - 08:58 AM

Mình thật sự cảm ơn bạn nhiều. 


  • 0

#10 quoctien.tedi

quoctien.tedi

    biết zoom

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

Đã gửi 18 April 2014 - 09:32 AM

Chào cả nhà!

Chúc cả nhà cadViet có một ngày thật nhiều nềm vui. Mình dùng code vb2010 để mở cad2012.

thi lúc được lúc không mà lại báo lỗi như ảnh mình gửi. Rất mong diễn đàn gỡ giúp. Mình xin cảm ơn.


  • 0