QUẢNG CÁO ĐẦU TRANG

Collapse

Thông báo

Collapse
No announcement yet.

ObjectARX....co ai quan tâm không?

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    Ðề: ObjectARX....co ai quan tâm không?

    Trả lời bạn Minh:
    Chắc lần trước tôi không hiểu ý bạn hỏi(tưởng bạn đã từng làm về ARX và muốn tìm vài ví dụ được viết về ARX). Như đã nói VC++ hay C#...là ngôn ngữ lập trình, còn ObjectARX là AutoCAD API(hệ thống định kiểu, lớp, tập hợp...) đã được biên dịch và phân phối tới nhà phát triển dưới dang các file thư viện (.dll,.lib) và tài liệu hướng dẫn, mô tả cấu trúc, cách thức làm việc của hệ thống thư viên đó...những cái đó được AutoDesk phân phối miễn phí trong 1 gói gọi là :SDK(software deverlopers kit).
    Bạn có thể tải gói đó tại: http://usa.autodesk.com/adsk/servlet...112&id=1911627
    Ứng dụng ARX thường được viết bằng VC++, trong dự án của bạn bạn tham chiếu tới những thư viện trong ARX(tham chiếu tới modul nào là tùy vào mục đích ứng dụng của bạn) khi đó bạn có được cấu trúc thừa kế, sủ dụng nhưng lớp, hàm(kế thừa, nạp chồng...) cho mục của bạn, hay chỉ đơn giản là cần làm gì---> gọi hàm nào có sẵn, hay định nghỉa những hàm mới phục vụ cọng viêc của mình... Sau đó project được biên dịch thành *.arx(thực chất là một dạng.dll thôi).


    Nói VBA yếu là không đúng, mỗi cái có thế mạnh riêng. Tôi phân tích qua vài điểm thôi.
    - Do mục đích của VB và VBA là sao cho người dùng cảm thấy dễ dàng nhất, thoải mái nhất...Nên những phần phức tạp của 1 ngôn ngữ lập trình đã được che dấu bên trong của trình biên dịch(VB) hay host Application(VBA). Do đó nhiều khi ta làm, mà không thực sư biết đang làm gì. Điều đó ko hẳn là không tốt(đôi khi là rất hay-tránh cho ta nhưng rắc rối ko cân thiết). Hạn chế của VBA hay Vb chính là khả năng mở rộng(thường thì chỉ nhà sản xuất mới làm được điều này vì chỉ họ mới biết họ đã cài đặt những gì trong cái "thùng kín" đó). Một điều nữa VB và VBA là ngôn ngữ thông dịch(dịch tưng phần trong lúc chạy...) nên tốc đô chậm hơn so với những ngôn ngữ biên dịch.
    - Trái lại với VB và VBA, C++ hay C# được phát triển theo hướng "tất tự nhiên", từ thấp đến cao, dựa trên sự kế thừa của các lớp, giao diện...Nên chúng có tính uyển chuyển cao cho việc tùy biến và mở rộng.
    Tạm thế thôi nha, bạn có thể thấy nhiều điều thú vị hơn từ những quyển sách về những ngôn ngữ đó và thực tế làm việc. Chúc bạn vui!

    Ghi chú


    • #17
      Ðề: ObjectARX....co ai quan tâm không?

      Hay quá, sư huynh lại quay trở lại rồi! hi`hi`Em thấy sư huynh thâm sâu về cái này lắm! Em cũng đang load về! hi vọng là có thể sớm trao đổi cùng huynh!
      Nhưng mà tại sao là bắt đầu bằng C# (bỏ qua C++) ạ? Liệu có thể như thế không anh? :P
      Last edited by htuan; 17-07-2005, 10:45 PM.
      Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

      Ghi chú


      • #18
        Ðề: ObjectARX....co ai quan tâm không?

        C# và C++ không có sự liên quan đến nhau, chỉ có "phong cách, cú pháp" là có chút tương đồng, bạn phải hiểu là C# không phải là bản nâng cấp của C++. MS vẫn hỗ trợ C++(hiên tại là VC++7.1 và sẽ có nhiều cải tiến trong Visual Studio 2005). Tôi khuyên lên bắt đầu với C# vì C# dễ học hơn, mang nhiều sức mạnh(và đang được hỗ trợ manh mẽ từ phía Microsoft): hơn nữa mục đích của ta ở đây là làm việc với AutoCAD - Autodesk đã hộ trợ.NET tương đối đầy đủ. Do đó hoàn toàn có thể yên tâm để bắt đầu với C# mà ko lo C# "thiếu sức mạnh" khi lập trình trong CAD (hiện tại, đúng là có chút ko bằng VC++ ...nhưng trong tương lai gần, tôi tin chắc Autodesk sẽ có 1 bộ NET Framework hoàn chỉnh cho AutoCAD - không phải là wrapper lại ObjectARX classes như hiện nay - như việc Microsoft đã đưa ra bộ framework thuần NET cho những nhà lập trình Office...). Vậy nha, cứ yên tâm bắt đầu với C#(tôi cũng đi theo hướng đó, mặc dù đã có thời gian học nhiều về C++).

        Ghi chú


        • #19
          Ðề: ObjectARX....co ai quan tâm không?

          Hix,đệ đã dơwn cai objectARX for 2004 rồi nhưng mà hắn đòi Bộ visual studio6 không làm được! Nó cứ thông báo thiếu thông tin! hix Không lẽ lại phải chuyển sang VC7.1 mà máy tính của em nó chạy chậm lắm!
          Chắc em sẽ thử tìm bộ visual mới để thực hành xem! Có gì huynh chỉ bảo nhé!

          Mà có cách nào vẫn dùng VC6.0 chạy được ARX cho cad2004 không ạ? Chỉ dùm em với!
          Last edited by htuan; 20-07-2005, 08:10 PM.
          Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

          Ghi chú


          • #20
            Ðề: ObjectARX....co ai quan tâm không?

            Vậy bạn có tài liệu căn bản nào về Object ARX ko? các ví dụ sơ khai ban đầu về "cái vụ này" cho minh xin với. Mình muốn tìm hiểu về ARX, mong bạn giúp mình.
            ducminh002@yahoo.com
            Mình đợi tin từ bạn, cố gắng giúp mình nhé.

            Ghi chú


            • #21
              Ðề: ObjectARX....co ai quan tâm không?

              Trả lời bạn Htuan là: ko có cách nào,vì bản thân các file thư viện đã được biên dịch bằng VC++7.0(ko phải 7.1). Bản thân tôi cung phải mua máy mới để làm cái món này.
              Nhân tiện mấy hôm trước đọc bên VBA for CAD, mình nói vài điều về việc xử lý thông tin ở dòng Command line của CAD, xét đến 2 tình huống sau:
              - Kết xuất ở command line là từ ứng dụng của người dùng ===> Điều này là dễ dàng, vì người dùng hoàn toàn kiểm soát được những gì đựơc xuất ra(vì những điều đó được họ lập trình). Những thông tin đó được xuất ra dưói dạng các thể hiện của các lớp trong NameSpace: Autodesk.AutoCAD.EditorInput.
              - Kết xuất command line là của bản thân AutoCAD hay từ ứng dụng khác, và ta cần lấy "tự động" kết xuất này từ ứng dụng của ta(third party). Khi đó cần sử dụng đến kỹ thuật gọi là Event and The Event handler (sự kiện và sử lý sự kiện), nghĩa là trong ứng dụng của ta phải định nghĩa 1 lớp các sự kiện --- và cách xử lý tương ứng, khi môi trường thực thi phát sinh 1 sự kiện đã được định nghĩa====> 1 lời gọi Callback được kích hoạt để xử lý sự kiện đó(chính là cách hành sử chúng ta đã cài đặt để đạt được mục đích của mình), cài đặt cụ thể phụ thuộc vào việc bạn muốn xử lý sự kiện nào và làm gì khi sự kiên đó xảy ra.



              Bãn Minh: Tôi đã nói rồi, bạn download bộ SDK về nghiên cứu (link ở mấy bài trước) trong đó đủ cả: framework(files thư viện), tài liệu, ví dụ(từ cơ bản đến nâng cao), labs...
              Còn nếu bạn có tài khoản ngân hàng, và sản sàng "đầu tư", bạn có thể mua sách tại Ebay.com (với từ khóa ObjectARX).


              Up lại link để đăng ký tải ObjectARX SDK:
              http://usa.autodesk.com/adsk/servlet...112&id=1911627
              Last edited by Kidsmart1981; 21-07-2005, 06:07 PM.

              Ghi chú


              • #22
                Ðề: ObjectARX....co ai quan tâm không?

                [QUOTE=Kidsmart1981]Trả lời bạn Htuan là: ko có cách nào,vì bản thân các file thư viện đã được biên dịch bằng VC++7.0(ko phải 7.1). Bản thân tôi cung phải mua máy mới để làm cái món này.

                Hix bây giờ em đang nghèo khó lắm à! Không biết anh có đĩa cài không, cho em mượn với. Nhân tiện cho em hỏi luôn là nếu mình xài chung Cad2000 với 2004 thì có tương thích được không nhỉ?
                Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

                Ghi chú


                • #23
                  Ðề: ObjectARX....co ai quan tâm không?

                  Ý bạn là muốn hỏi về đĩa nào? Để có VC++ 7.0 bạn dùng bộ Visual Studio.NET 2002(bộ 5cd = 30000vnd - Chắc ko khó đến mức đó chứ)
                  Còn tài liệu về ObjectARX bạn tải tại mấy cái link tôi đã up lên(nếu bạn đăng ký sẽ có được bản đầy đủ hơn). Vào đây để tải nhá:
                  http://usa.autodesk.com/adsk/servlet...3112&id=773180

                  Còn về điều bạn hỏi, nếu chương trình ARX của bạn viết bằng ObjectARX 2000 thì nó vẫn có thể chạy với các bản CAD mới hơn(nhưng điều ngược lại là ko đúng).
                  Ai cũng có khó khăn riêng thôi(trước đây, khi mới chỉ trong giai đoạn hoc tập- đọc tài liệu....tôi còn dùng cái máy Celeon 400 Mhz nữa là, sau khi quyết định làm việc với ARX mới mua máy mới). Hãy cố gắng khắc phục trong khả năng có thể, 1 PC cỡ P3 800Mhz 256 MB RAM là làm việc được với ObjectARX rồi bạn(một máy như thế giờ mua chỉ tầm chưa đên 2 triệu).

                  Ghi chú


                  • #24
                    Ðề: ObjectARX....co ai quan tâm không?

                    hix anh ơi! Em mua nhầm đĩa Net 7.1 về nhà chạy thì nó thông báo cần 7.0 thế mới đau. Chẳng lẽ bây giờ lại đi kiếm cái đĩa cad2006??? Không biết cad2006 nó có hỗ trợ cho bản 7.1 không ạ? Nếu anh dùng rồi thì chỉ cho em với nhé! Mà em định cài cad2000 để xài VC 6 vào winxp mà sao không được vậy nhỉ? Nó cứ thông báo là không cài đặt được!
                    Học cái món ARX này hình như phải phụ thuộc hơi nhiều vào nhà cung cấp thì phải? Không biết bác có giải pháp nào ít tốn kém mà vẫn học tập được không ạ? hi`hi`
                    Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

                    Ghi chú


                    • #25
                      Ðề: ObjectARX....co ai quan tâm không?

                      Trả lời: Nếu muốn làm việc với ObjectARX(AutoCAD C++ APIs) bạn buộc phải dùng VC++ 7.0. Còn nếu xác định làm với AutoCAD.NET APIs(với Cad05, Cad06...)thì bạn có thể dùng C# hoặc VB.NET 1.0 hoặc mới hơn. Bạn có thể cài Cad 05, 06 để tận dụng bộ đĩa đã mua(nhưng chỉ làm với AutoCAD.NET APIs đuọc thôi). Điều đó không quan trọng, cơ bản bạn phải xác định là định dùng bộ APIs nào(ObjectARX hay.NET). Nếu mới chỉ dừng lại ở học tập, và quyết định dùng C++ bạn hoàn toàn có thể dùng VC++ 6 và Cad 2000. Đúng rồi, bản Cad 2000 ko cài được trên WinXP...chỉ do cái file Setup.exe của bản cad đó(ko nhầm thì họ đóng gói bằng InstallShied với 1 số thiết lập nào đó mà ko cài được tên WinXP - đó là do phiên bản InstallShied đó củ rồi, ko tương thích với WinXP) nhưng nếu bằng cách nào đó bạn cài được bộ Cad đó ra có thể nó vẫn chạy tốt.
                      Bạn muốn ít tốn kém hơn? Bạn thấy tốn nhất ở khoản nào? Các file thư viện đều được cung cấp miễn phí...
                      Bạn nên xác định cho rõ, nếu lập trình Cad bằng ARX hay bằng.NEt APIs là bạn buộc phải phấn đấu như lập trình viên nếu muốn thu được kết quả nào đó. Điều đáng mừng là những kiến thức, kỹ năng bạn có được từ đó hoàn toàn có thể áp dụng vào việc phát triển các ứng dụng khác ngoài Cad(không bó hẹp - cá biệt như Lisp, dễ dãi như VBA...).

                      Ghi chú


                      • #26
                        Ðề: ObjectARX....co ai quan tâm không?

                        Xin hỏi anh kidsmart là hiện giờ anh có lập trình với.Net không ạ? Em thấy anh bảo hiện tại thì Cad chưa hỗ trợ hết cho.Net.
                        Xin cám ơn bác anfrohel, tui sẽ thử theo cách của bác xem sao. Cầu trời là được.
                        Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

                        Ghi chú


                        • #27
                          Ðề: ObjectARX....co ai quan tâm không?

                          Tui thấy ARX đáng phải cho 5 sao mới phải, đây quả là cách tiếp cận lõi của cad chuyên nghiệp nhất, có thể tạo ra những object mới...tuyệt, chỉ tội hơi khó, để lập trình vẽ được một đường thẳng mà tui mất ngót ngét một tháng... bác nào đã là chuyên gia về lĩnh vực này xin hãy chỉ giáo thêm cho anh em với, chứ cứ mầy mò thế này mệt quá, mà đi làm về zui thì thật là phải quyết tâm lắm mới ngồi vào máy tính được, chỗ tui làm về muộn lắm,,, bác nào có tài liệu hay để đi tắt đón đầu thì thật tốt, cho mọi người xem thử nhé!!!! cám ơn nhiều!

                          Ghi chú


                          • #28
                            Ðề: ObjectARX....co ai quan tâm không?

                            Cám ơn bác anfrohel tui đã cài được rồi.
                            Công nhận là dùng C# để chạy.Net đỡ rắc rối hơn là dùng hàm API của VC6 thật. Bác Kidsmart tiếp tục nói về cái "managed wrapper classes" , vậy bản chất của cái đó là gì? Và sử dụng như thế nào? Ngoài ra khi nghiên cứu cái Lab2 nó đòi mình phải cài cái (..\ObjectARX 2006\utils\ObjARXWiz\ArxWizards.msi) thế cái này dơwn ở đâu ạ? Có phải trong bộ SDK không?
                            Rất mong anh sẽ có thời gian pơst bài!
                            Chúc anh mạnh khoẻ và làm việc tốt!
                            Người gặp người cơn lốc cuốn, đối diện cuộc đời tâm nào giữ lời

                            Ghi chú


                            • #29
                              Ðề: ObjectARX....co ai quan tâm không?

                              VNCAD Plus! sắp hoàn thành, các bác nhá!
                              Hiện tại phiên bản 1.0 có nhưng tín năng sau:
                              _ Xuất dữ liệu từ bảng tính Excell sang autocad.
                              _ Được viết bằng C# trên nền CAD2006 essemble.NET nên tốc độ nhanh hơn những ứng dung tương tự trên nền CAD_COM 10 lần trở lên!
                              - Có thể có bác se hỏi, sao ko dùng chức năng paste special trong cad. Nguyên nhân là kết quả của bảng tính đó sau khi phá khối...chỉ còn là lines và text(tuong tự như nhiều ứng dụng tương tự trên thị trường).
                              - Với VNCAD plus! dữ liệu khi xuất ra cũng là block, nhưng khi cần có thể edit trong cad như 1 bảng dữ liệu động(trèn cột, thêm hàng...) và các field dữ liệu thì thật sự là dữ liệu sống(có liên kết, tham chiếu...như excel cơ bản, nhưng có nhiều điểm hay ở khía cạnh cad!).
                              - VNCAD plus!'s table tương thích 100% với autocad's table(với cad 2006). và phiên bản 1.0....sẽ miễn phí, se tiến tới thương mại (share ware) với phiên bản tiếp theo.
                              Dự định sẽ up lên Ketcau.com trong 2 tuần nữa.
                              Last edited by Kidsmart1981; 18-08-2005, 09:17 AM.

                              Ghi chú


                              • #30
                                Ðề: ObjectARX....co ai quan tâm không?

                                htuan đã bắt đầu là tốt rồi, "managed wrapper classes" là thư viện.NET của Cad. Nhưng gọi là "wrapper classes" là vì nó không phải được viết từ đầu (như MS.NET framework) mà là đóng gói lại các thư viện từ C++ trước đó. Hãy yên tâm với.NET nha, nó hỗ trợ gần như hoàn toàn rồi, tất nhiên đôi khi cần phải xem lại những lớp cơ sở viết bằng C++, nên nhưng kiến thức về C++ cũng cần thiết. Bản thân tôi dùng.NET(C#) làm ngôn ngữ của mình...
                                Last edited by Kidsmart1981; 18-08-2005, 09:33 AM.

                                Ghi chú

                                Working...
                                X