Chuyển đến nội dung
Diễn đàn CADViet

HTTP

Thành viên
  • Số lượng nội dung

    7
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi HTTP


  1. đúng là layer LayerChusolieu phải đổi tên thành Tenlayer. hai lỗi trên mình đã fix thành số như bạn hướng dẫn và được rồi. nhưng dòng set Activelayer không chạy được, nó vẫn báo lỗi member not found. Mình đã chuyển sang sử dụng library rồi nhưng mình nghĩ đây cũng là cách hay để dùng với nhiều phiên bản Cad.


  2. Mình dùng cad2009 và vb2005 để vẽ nhưng nếu sử dụng library của cad thì vẫn set ActiveLayer được nhưng khi không sử dụng thì lệnh này báo lỗi.

     

    Dim AcadApp As Object 'AcadApplication 'ứng dụng autocad
       Dim Strlayer As String
       Dim Tenlayer As Object
    
           AcadApp.ActiveDocument.Linetypes.Load("continuous", "acad.lin")
           AcadApp.ActiveDocument.Linetypes.Load("Acad_Iso03W100", "acad.lin")
           Strlayer = "Layermoi"
           Tenlayer = AcadApp.ActiveDocument.Layers.Add(Strlayer)
           With LayerChusolieu
               .Linetype = "continuous"
               .color = acColor.acGreen 'lệnh này gây lỗi????????????????
               .LayerOn = True
               .Lock = False
               .Lineweight = .ACAD_LWEIGHT.acLnWtByLwDefault ''lệnh này gây lỗi?????????
           End With
    
    AcadApp.ActiveDocument.ActiveLayer = Tenlayer 'lệnh này gây lỗi khi chạy
    

    Bác nào khắc phục được xin chỉ giáo với. mình xin cảm ơn!


  3. Các bác không nên nói bác vndesperados như thế. Các phần mềm thông dụng ở nước ngoài như windows, office, cad ... hầu hết mình đều dùng chùa bởi vì nó rất mắc tiền, dân mình nghèo đâu đủ tiền mua và nhưng pm đó họ cũng bán được rất nhiều nên mình có dùng chùa thì cũng chưa ảnh hưởng nhiều đến họ lắm và còn nhiều lý do khác. còn như bác vndesperados đã đi làm rồi, phải tính đến vấn đề kinh tế thì các bác cứ nghĩ xem bỏ ra bao nhiêu công sức để làm được sản phẩm mà không mang lại được tí lợi ích gì cho mình thì chắc đi làm thế thì lấy gì mà ăn.

    các bác cần ủng hộ pm trong nước để nó còn phát triển chứ. nếu cứ ra cái nào là dùng chùa luôn cái đó thì còn ai chịu làm nữa. chí ít cũng phải để cho tác giả bán được một ít chứ.

    cho nên tôi nghĩ bác vndesperados nên làm một bản frii cho anh em sv, còn bản prồ thì bán cho người có đủ tài chính mua thì hay hơn.


  4. Tôi có cách này hay hơn là phải khai báo trong thư viện anh BKXD ơi:

    - Khai báo thư viện và đối tượng như bình thường.

    - Sau khi chương trình ổn định thì thay các đối tượng như AcadLine, AcadText,... thành Object hết!

    (biến liên kết sớm thành muộn)

     

    Thế là không lo version nữa- nhưng yêu cầu phải từ Cad 2000 trở lên (14 không được)

     

    Bác Phantuhuong có thể cho một ví dụ dùng VB.net vẽ một đoạn thẳng được không.

    Tôi đã thử rồi mà không làm được. Để mở Cad ra vẽ thì tôi dùng đoạn mã:

    Public vAcadApp As Autodesk.AutoCAD.Interop.AcadApplication
    vAcadApp = New Autodesk.AutoCAD.Interop.AcadApplication
    vAcadApp.Visible = True

    nhưng để dùng được cái này thì phải nạp library vào nên nó không hỗ trợ các ver khác nhau của cad.

    Có cách nào không dùng library của cad mà vẫn gọi được cad lên và vẽ bình thường không.

    Bác nào biết xin chỉ giúp! cảm ơn nhiều!

×