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

nkgedadknr

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

    29
  • Đã tham gia

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

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


  1. Tình hình là em có một cái file *.dvb mà nó bị đặt pass.

     

    em muốn xem code của cai file đó để học hỏi thôi. không có ý khác.

     

    mong các bác chỉ em.

    thanks

    Người ta đã đặt pass nghỉa là không muốn cho người khác thấy dù mục đích là gì đi nữa. Ai biết ngườ xem muốn học hỏi hay ăn cắp...

    Tốt nhất là liên hệ trực tiếp tác giả để xin pass. Nếu chân thành thì ngta sẽ cho thôi!

    Mấy câu như thế này mà đem lên đây thì người hỏi bị đánh giá kém lắm


  2. Tớ có mấy cái tiện ích, hôm nào đem ra cho mọi người xài.

     

    Bác thật chính xác như thần, không biết tại sao Em mở Tasl Manager lên lại có 2 Excel, vậy là thế nào hở bác, Em xài Excel 2007, kết hợp với cad 2010.

    Lúc trước em chạy macro xuất từ cad sang excel thì cũng gặp th này 2 excel chạy song song nhưng em ko quan tâm

    nhưng giờ em chạy từ excel sang cad thì vâp phải cái này. Xin cao kiến Bác???

    Mai Em lên VP up cái hình đó cho Bác xem ạ

    Em có nhu cầu viết tiện ích vba, chắc hôm nào xin bác chút thời gian được không ạ? E ở SG


  3. Bạn dùng biến ExcelObj đại diện cho Excel, AcadApp đại diện cho Acad

     

    Bạn cần thiết lập liên kết tương ứng

    Set ExcelObj = GetObject(, "Excel.Application")

    Set AcadObj = GetObject(, "ACAD.Application")

     

    Sau đó muốn activate thằng nào thì dùng hàm sau

    AppActivate AppObj.Caption

     

    Trong đó AppObj là biến liên kết với chương trình Excel, ACAD hay Word hay bất kỳ chương trình nào có thông qua quá trình cài đặt trên PC.

     

    Caption là biến đại diện cho tiêu đề của cửa sổ chương trình đang liên kết. Caption sử dụng để tương thích ngược.

     

     

    Cảm ơn Bạn.

     

    Mình đã đặt lại tên Application theo như ý Bạn. Tuy nhiên khi chuyển qua Appactivate EXCELApp.Caption thì cursor vẫn hiển thị trên màn hình CAD, mình phải di chuyển qua màn hình Excel và Click thì mới Activate được Excel


  4. Nhưng tới cuối cùng vẫn không biết bạn bí cái gì.

    Bạn ra câu hỏi sau đó nói là giải quyết được rồi mà.

     

    Em bí cái này ạ:

    Em không thể quay về màn hình Excel (activate) bằng appactivate sao khi thao tác trên Cad. Cursor vẫn hiện trên Cad

    http://www.cadviet.com/upfiles/2/setfocusexcel.jpg

     

    Private Sub UnHide(control As IRibbonControl)

    Dim objApp As Object

    Dim ExcCap As String

    ExcCap = Application.Caption

     

    On Error Resume Next

    Set objApp = GetObject(, "AutoCAD.Application")

    Dim objDoc As AcadDocument

    AppActivate "AutoCAD", True

    With objApp

    Set objDoc = .ActiveDocument

    Dim objEnt As AcadEntity

    For Each objEnt In objDoc.ModelSpace

    objEnt.Visible = True

    Next objEnt

    objDoc.Regen acAllViewports

    End With

    AppActivate objApp, False

    Set objDoc = Nothing

    Set objApp = Nothing

     

    [color=#FF0000][u][b]AppActivate ExcCap, True[/b][/u][/color]

    End Sub

    [code/]


  5. Mình chạy mã này trên màn hình Excel (từ ribbon)

    Mình muốn set focus back to Excel screen(select some cells) sau khi hide entity in Cad screen, những mã này chạy không theo ý mình, xin các Bạn giúp mình với.

     

    Vấn đề trên mình đã solve được rồi

     

     

    Private Sub UnHide(control As IRibbonControl)

    Dim objApp As Object

    Dim ExcCap As String

    ExcCap = Application.Caption

     

    On Error Resume Next

    Set objApp = GetObject(, "AutoCAD.Application")

    Dim objDoc As AcadDocument

    AppActivate "AutoCAD", True

    With objApp

    Set objDoc = .ActiveDocument

    Dim objEnt As AcadEntity

    For Each objEnt In objDoc.ModelSpace

    objEnt.Visible = True

    Next objEnt

    objDoc.Regen acAllViewports

    End With

    AppActivate objApp, False

    Set objDoc = Nothing

    Set objApp = Nothing

     

    AppActivate ExcCap, True

    End Sub


  6.  

    Chào các bạn!

     

    Mình đang có vấn đề này nhờ các Bạn giúp:

     

    Mình đang thực hiện lấy các properties của Polyline từ Cad qua Excel bằng cách viết:

     

    1. Macro Capture (Right click Popup Menu từ Excel > Capture) để chọn Polyline từ Acad. Import các properties cần thiết sang Excel.

     

    Sau đó mình muốn Highlight polyline có propertities tại dòng n cùa màn hình Excel trên màn hình Acad và zoom tới vị trí Polyline đó bằng Zoom Center: giải thuật của mình là chọn tất cả entities của bản vẽ hiện tại, chọn entity nào có handle cùng với handle trên Excel thì highllight và zoom tới entity đó

     

    2. Macro Highlight (Right click Popup Menu từ Excel > Hightlight)

     

    Mình có attach thêm 1 bản vẽ Cad và 1 workbook Excel

     

    Đối với những Polyline mình tạo ra thì macro Highlight thực thi OK: nghĩ là highlight polyline và zoom tới vị trí đó. (trên bản vẽ là layer 0)

     

    Tuy nhiên, với những polyline mà mình có sẳn (layer 1) thì macro Highlight không thực hiện được.

     

    Mình thấy hiện tượng như vậy. Vì trong Code của Macro Highlight mình Debug.Print tọa độ của objEnt.Coordinates thì thấy trong trường hợp layer 1 Coordinate này bằng 0 (không nhận được). Trong khi layer 0 thì objEnt.Coordinate hiểu được.

     

    Các Bạn giúp mình một tay nhé. Tiện đây nhờ các bác đóng góp ý kiến cho giải thuật zoom lấy entity để highlight và Code của mình thêm hoàn thiện.

    À mà mình muốn highlight entity có hiển thị các grid mày xanh ở 2 đầu và cuối polyline đó thì làm sao nhỉ

     

    http://www.cadviet.com/upfiles/2/upkc121209.rar


  7. vậy các bác sửa giúp mình đoạn code này với, mình ko biết nó sai chỗ nào

     

    Sub Test()

    Dim InsertionPoint()

    Dim objEnt As AcadEntity

    Dim varPick As Variant

    Dim textId, text

    Dim myArea

     

    '%<\AcObjProp.16.2 Object(%<\_ObjId 2126377576>%).Length \f "%th44">%

    '%<AcObjProp Object(%<_ObjId 2126689144>%).Area>%

     

    ThisDrawing.Utility.GetEntity objEnt, varPick, vbCr & "Select a polyline"

    textId = objEnt.ObjectID

     

    Debug.Print textId

     

    text = "%<\AcObjProp Object(" & textId & ").Area>%"

     

    InsertionPoint(0) = 0: InsertionPoint(1) = 0: InsertionPoint(2) = 0

    Height = 0.08

     

    Set myArea = ThisDrawing.ModelSpace.AddText(text, InsertionPoint, Height)

     

    Debug.Print myArea.TextString

     

    End Sub


  8. chào bạn Tue NV

     

    cám ơn bạn đã góp ý

     

    1. polyline hở thì cũng có diện tích bạn ơi. Bạn xem lại Help trong Acad nhé !!!

     

    2. mình muốn viết code show tất cả diện tích, chiều dài polyline thành từng text đặt cạnh polyline đó trên màn hình. Các polyline và text tương ứng có thể nằm trên từng lớp khác nhau. Sau đó mình viết code lọc từng text lấy diện tích, chiều dài của từng polyline theo tứng layer.

     

    3. Không biết mình viết như vậy đã rõ ràng chưa bạn ơi, còn cái gì tổng quát hay cách diễn đạt thì mình cũng đang hoàn thiện cả đời đó bạn ạ, bạn có tips nào thì chỉ mình thêm nhe

     

    Thân ái


  9. chào bạn Tue NV

     

    cám ơn bạn đã góp ý

     

    1. polyline hở thì cũng có diện tích bạn ơi. Bạn xem lại Help trong Acad nhé !!!

     

    2. mình muốn viết code show tất cả diện tích, chiều dài polyline thành từng text đặt cạnh polyline đó trên màn hình. Các polyline và text tương ứng có thể nằm trên từng lớp khác nhau. Sau đó mình viết code lọc từng text lấy diện tích, chiều dài của từng polyline theo tứng layer.

     

    3. Không biết mình viết như vậy đã rõ ràng chưa bạn ơi, còn cái gì tổng quát hay cách diễn đạt thì mình cũng đang hoàn thiện cả đời đó bạn ạ, bạn có tips nào thì chỉ mình thêm nhe

     

    Thân ái


  10. Tiếc quá nhỉ

    Mình ở HN

    Liệu có cộng tác được không

    Hiện đã triển khai một số ứng dụng bằng VBA + VBA NET trong cad như XD mô hình 3 chiều của các loại tháp thép(BTS, cột điện ...) Chương trình thống kê thép... kết hợp VBA của Sap và Cad ...

    Rất mong được cộng tác

     

    mình có thể trao đổi về tài liệu, giải thuật mà bác, khi nào em ra HN thì trao đổi trực tiếp mà.

    có gì bác cứ liên hệ em qua phone hoặc nick bcminhthe@yahoo.com.vn

     

    @nonlinear : hoàn toàn đồng ý với bác, em cũng lò mò nghiên cứu, nhưng vì nội công lập trình còn yếu, nên chiêu thức còn loạng choạng, chưa đủ sát thương


  11. Cần tìm thầy, bạn hướng dẫn, hợp tác trong VB, VBA

    Mình làm trong ngành kỹ thuật xây dựng, đang có nhu cầu học VB và VBA phục vụ viết ứng dụng nhỏ trên Office và Autocad để phục vụ công việc.

     

    Tìm các đối tác IT có kinh nghiệm về cái này để hợp tác đào tạo hoặc viết ứng dụng theo nhu cầu công việc của mình

    0938 291 219 Thế, ở SG

×