Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
saycaphe

Hỏi về cách mở nhiều bản vẽ Autocad

Các bài được khuyến nghị

Chào các anh.

Em muốn nhờ các anh hướng dẫn viết 1 chương trình bằng VB, để load các bản vẽ vào 1 list, rồi mở các bản vẽ từ list đó. Em mới làm đc load các bản vẽ vào trong 1 list thôi, phần còn lại chưa biết cách giải quyết. Mong đc các anh giúp đỡ

Option Explicit
Private Sub cmdExit_Click()
 End
End Sub
Private Sub cmdOpen_Click()
 Dim strFileNames As Variant
 Dim i As Integer
 filepath = CommonDialog1.FileName
 strFileNames = Split(GetFiles, Chr(0))
 With List1
If UBound(strFileNames) > 0 Then
 	.Clear
 	'Path is stored in index 0 of array files in index 1...
 	Label1.Caption = "Files selected from: " & strFileNames(0)
 	For i = 1 To UBound(strFileNames)
   	.AddItem strFileNames(i)
 	Next
Else
 	.AddItem "(No files selected)"
End If
 End With
End Sub
Public Function GetFiles(Optional ByVal sTitle As String = "Open files...") As String
 ' sTitle: Optional Title of Dialog
 Dim sFilenames As String
 Dim cdlOpen As Object
 On Error GoTo ProcError
 ' Get the desired name using the common dialog
 Set cdlOpen = CreateObject("MSComDlg.CommonDialog")
 ' set up the file open dialog file types
 With cdlOpen
' setting CancelError means the control will
' raise an error if the user clicks Cancel
.CancelError = True
.Filter = "DXF Files (*.dxf)|*.dxf|All Files (*.*)|*.*|Text Files (*.txt)|*.*.txt|INI Files (*.ini)|*.ini|Images (*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif"
.FilterIndex = 1
.DialogTitle = sTitle
.MaxFileSize = &H7FFF ' 32KB filename buffer
' set up Common Dialog flags
' same as .Flags = cdlOFNHideReadOnly Or cdlOFNPathMustExist Or cdlOFNLongNames Or cdlOFNAllowMultiselect or cdlOFNExplorer
.Flags = &H4 Or &H800 Or &H40000 Or &H200 Or &H80000
.ShowOpen
' get the selected name
sFilenames = .FileName
 End With
ProcExit:
 GetFiles = sFilenames
 Set cdlOpen = Nothing
 Exit Function
ProcError:
 If Err.Number = &H7FF3 Then Resume Next 'Cancel selected - Ignore
 MsgBox Err.Description & "(" & Err.Number & ")", vbExclamation, "Open error"
 sFilenames = ""
 Resume ProcExit
End Function
Private Sub Command1_Click()
End Sub
Private Sub cmdRun_Click()
Dim filepath As String
Dim i As Integer
filepath = CommonDialog1.FileName

With List1
For i = 1 To UBound(filepath)
   	.AddItem strFileNames(i)
 	Next
End Sub
Private Sub Form_Load()
On Error Resume Next
Set AcadApp = GetObject(, "AutoCAD.Application")
  [color=#ff0000] If Err <> 0[/color]
   	Err.Clear
   	Set AcadApp = CreateObject("AutoCAD.Application")
End If
AppActivate AcadApp.Caption
AcadApp.Visible = True
End Sub

 

http://www.mediafire.com/?p8604so8xmdi9sp

 

cám ơn các anh !

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Up up up nhờ các cao thủ chỉ giáo

Cái này với LSP, giải quyết đơn giản, vài dòng là xong!

Bạn viết bài trong topic này thì phải chờ thôi, vì Tue_NV không biết VB :blush:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cái này với LSP, giải quyết đơn giản, vài dòng là xong!

Bạn viết bài trong topic này thì phải chờ thôi, vì Tue_NV không biết VB :blush:

với Lisp thì làm thế nào để mở nhiều bản vẽ vậy bác?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

với Lisp thì làm thế nào để mở nhiều bản vẽ vậy bác?

 

Cái này với LSP, giải quyết đơn giản, vài dòng là xong!

Bạn viết bài trong topic này thì ... chịu thôi :blush:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Sao bạn không dùng lệnh OPEN, rồi chọn toàn bộ các file trong thư mục đó?

 

ACAD sẽ mở lần lượt từng file cho đến lúc nào hết thì thôi.

Nếu thế này thì có một mẹo như sau:

 

- Tạo 1 file acad.lsp trong thư mục chứa các file DWG với nội dung:

(getstring "\nNhan enter de tiep tuc")

- Tiếp đến, mở tất cả các file trong thư mục đó bằng phím shift hay ctr như đã hướng dẫn.

- Bây giờ, cứ mỗi lần mở 1 file, màn hình sẽ dừng cho đến khi bạn nhấn enter hoặc dấu cách rồi mới mở file kế tiếp.

- Muốn ACAD trở lại bình thường, chỉ đơn giản là xóa (hoặc rename) file acad.lsp là xong.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×