Đến nội dung


Hình ảnh
* * - - - 3 Bình chọn

VBA cho AutoCad-Hãy cùng tham gia trao đổi


  • Please log in to reply
53 replies to this topic

#41 p.bavinh

p.bavinh

    biết zoom

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

Đã gửi 11 December 2013 - 08:58 PM

Sau 1 thời gian tìm hiểu thì tôi đã hoàn tất Code có thể tách bản vẽ và in tự động nhiều bản vẽ nằm trong 1 bản model hoặc layout không biết ai cần dùng không thì tôi sẽ cho


  • 1

#42 dinhvantrang

dinhvantrang

    biết lệnh copy

  • Members
  • PipPipPip
  • 117 Bài viết
Điểm đánh giá: 26 (tàm tạm)

Đã gửi 12 December 2013 - 11:08 AM

Sau 1 thời gian tìm hiểu thì tôi đã hoàn tất Code có thể tách bản vẽ và in tự động nhiều bản vẽ nằm trong 1 bản model hoặc layout không biết ai cần dùng không thì tôi sẽ cho

Rất hoan nghênh bác chia sẻ cùng anh em.

Bác gửi cho em tham khảo nhé


  • 0

Thanks and Best Regards

Skype : dinhvantrang73


#43 khatamxd

khatamxd

    biết vẽ ellipse

  • Members
  • PipPip
  • 50 Bài viết
Điểm đánh giá: 21 (tàm tạm)

Đã gửi 13 December 2013 - 11:02 AM

đối với việc in ấn thì bên công ty mình dùng lệnh publish có sẵn trong cad. In vài trăm bản vẽ chỉ cần 2 3 cái click chuột thì liệu chương trình của bạn có hay hơn đc ko. Bạn chia sẽ code lên cho mọi người tham khảo có vẽ hay hơn đó  :)


  • 0

#44 p.bavinh

p.bavinh

    biết zoom

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

Đã gửi 13 December 2013 - 06:44 PM

đối với việc in ấn thì bên công ty mình dùng lệnh publish có sẵn trong cad. In vài trăm bản vẽ chỉ cần 2 3 cái click chuột thì liệu chương trình của bạn có hay hơn đc ko. Bạn chia sẽ code lên cho mọi người tham khảo có vẽ hay hơn đó  :)

bạn không hiểu rồi, publish chỉ print được nhiều bản vẽ nhưng mồi file là 1 bản vẽ. còn tôi có thể print tuỳ ý nhiều bản vẽ mà cùng nằm trong 1 file thôi. hoặc trong model hoặc trong paper . nó giống như code này : http://www.cadviet.c...i-can-1-layout/

nhưng tôi viết bằng vba và có điểm khác nữa là có thể tách tự động toàn bộ bản vẽ đấy riêng biệt, và có thể in trong nhiều bản trong layout. còn code đường dẫn trên chỉ in được nhiều trong model thôi :). ai cần thì liên hệ với tôi theo :

email: bavinh.bavinh@gmail.com

skype: p.bavinh1

ps: mục đích của tôi là muốn chia sẻ vba cho mọi người vì code tôi hiện nay có ít người dùng quá nên thấy hơi phí, có thể ai đấy sẽ cần. ngoài ra tôi còn một số code xuất excel vào cad


  • 0

#45 babbosmart

babbosmart

    Chưa sử dụng CAD

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

Đã gửi 13 December 2013 - 10:38 PM

các bác cho em hỏi làm sao để code một nút commandbutton đê mở form khác, em định viết một ct tính thép xong vẽ = vba for cad, dùng nhiều form mà ko bit mở form = comman kiểu gi ạ, 


  • 0

#46 NguyenNgocSon

NguyenNgocSon

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 368 Bài viết
Điểm đánh giá: 39 (tàm tạm)

Đã gửi 14 December 2013 - 08:19 AM

Dung 1 sub gọi form đó lên

Làm 1 lisp gọi sub đó lên là ok

Ví du:

'1.Thu tuc goi Form có tên là Userform 1

sub aa()

Userform1.show

end sub

'2.Lisp gọi form

(defun c:goi()

(command "vbarun" "aa")

(princ)

)

;Cai dat
(defun c:ds()
(Command "Vbarun" "Caidat")
(grtext -1 "0968.870.268") 
(princ) 
)
;Cai dat
(defun c:ds()
(Command "Vbarun" "Caidat")
(grtext -1 "0968.870.268") 
(princ) 
)
(defun c:TG()
(alert "\n Name:Nguyen Ngoc Son \n Phone: 0968.870.268")
(grtext -1 "Nguy\U+1EC5n Ng\U+1ECDc S\U+01A1n")
(princ) 
)
;Cai dat
(defun c:ds()
(Command "Vbarun" "Caidat")
(grtext -1 "0968.870.268") 
(princ) 
)

  • 0

#47 babbosmart

babbosmart

    Chưa sử dụng CAD

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

Đã gửi 14 December 2013 - 12:30 PM

nghĩa là code trên cho nút cmbuttog đó hả bác????


  • 0

#48 NguyenNgocSon

NguyenNgocSon

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 368 Bài viết
Điểm đánh giá: 39 (tàm tạm)

Đã gửi 14 December 2013 - 12:43 PM

Bạn hỏi thế thì chịu. Nếu cần thì bạn phải post code lên mới giúp trọn vẹn được :)


  • 0

#49 dainguyenjenny

dainguyenjenny

    Chưa sử dụng CAD

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

Đã gửi 30 May 2015 - 09:18 PM

Bạn chụp lại học gửi bạn về của bạn cho Minh xem minh xem minh co giup duoc gi cho ban khong? minh cung su dung textbox roi, van chay ngon lanh ma


  • 0

#50 dainguyenjenny

dainguyenjenny

    Chưa sử dụng CAD

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

Đã gửi 30 May 2015 - 09:21 PM

Sau 1 thời gian tìm hiểu thì tôi đã hoàn tất Code có thể tách bản vẽ và in tự động nhiều bản vẽ nằm trong 1 bản model hoặc layout không biết ai cần dùng không thì tôi sẽ cho

Ban gui vao Mail cho minh dk Mail minh la : ngvdai.nuce@gmail.com cam on ban nhieu nhe


  • 0

#51 thothongcong

thothongcong

    biết pan

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

Đã gửi 19 September 2015 - 11:43 AM

Hi mọi người có thể giúp em vấn đề này không.

http://www.cadviet.c...cad3d-b-ng-vba/

em đã post lên diễn đàn chắc à không đúng chủ đề nên khong thấy ai trả lời cả

hi vọng topic có thể giúp e được phân nào

 

thanks all


  • 0

#52 LinhChung

LinhChung

    Chưa sử dụng CAD

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

Đã gửi 05 November 2015 - 08:02 PM

Vote up 

Xin chào ketxu!

Mình có một đoạn mã VBA nhờ bạn chỉ điểm một vài nội dung trong đó. Mã VBA như sau:

 

Public Function Processor() As String
Dim GetSN As Variant
Dim SubGetSN As Variant
Dim wmi As Variant
Dim str1 As String
Dim str3() As String
Dim str4 As String
Dim str5 As String
Dim va As Variant
Dim i As Integer
Dim j As Integer
    On Error Resume Next
    ' Get the Windows Management Instrumentation object.
    Set wmi = GetObject("WinMgmts:")
 
    ' Get the "base SubGetSNs" (mother SubGetSNs).
    Set GetSN = wmi.InstancesOf("Win32_ComputerSystemProduct")
    For Each SubGetSN In GetSN
        
        str1 = str1 & SubGetSN.UUID
     
    Next SubGetSN
    If Err <> 0 Then
    Err.Clear
    Processor = "481455476449"
    Else
    
    If Len(str1) > 0 Then str1 = _
        Trim$(str1)
    str3 = Split(str1, "-")
 
    For Each va In str3
    str4 = str4 & va
    Next
 
    j = Len(str4) \ 8
    For i = 1 To j * 8 Step 8
    str5 = str5 & Asc(Mid(str4, i, 1)) + Asc(Mid(str4, i + 1, 1)) + 1 + Asc(Mid(str4, i + 2, 1)) _
    + Asc(Mid(str4, i + 3, 1)) - 1 + Asc(Mid(str4, i + 4, 1)) + Asc(Mid(str4, i + 5, 1)) + 1 + Asc(Mid(str4, i + 6, 1)) _
    + Asc(Mid(str4, i + 7, 1))
    Next
    
    Processor = str5
    End If
End Function

  • -1

#53 kapino

kapino

    Chưa sử dụng CAD

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

Đã gửi 03 July 2016 - 03:40 AM

Sử dụng select Previous bằng việc thêm dòng lệnh đầu cú pháp:

ThisDrawing.SendCommand "_select" & vbCr & "_P" & vbCr & vbCr


  • 0

#54 kapino

kapino

    Chưa sử dụng CAD

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

Đã gửi 03 July 2016 - 03:47 AM

Tại sao không dùng Slect Previous để mình lấy lại đối tượng vừa select xong, bằng việc thêm cú pháp ở đầu như sau:

ThisDrawing.SendCommand "_select" & vbCr & "_P" & vbCr & vbCr


  • 0