Đến nội dung


Hình ảnh
- - - - -

Viết VBA theo yêu cầu.............


  • Please log in to reply
124 replies to this topic

#41 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 10 June 2009 - 02:51 PM

Nhờ các ace giúp em cái này...e có 1 file cad 2D, gồm các các điểm, lân cận điểm có các text thể hiện thông tin của điểm như số thứ tự, cao độ của điểm (xem file đính kèm : http://www.cadviet.c...Drawing1_45.dwg ). Vấn đề của em là bây giờ e muốn viết 1 code để sao có thể xuất hết các thông tin này thành 1 file excel hay text với định dạng:
stt toadox toadoy docao

cụ thể áp dụng cho file này :
1 8.7320 11.8432 0.02
2 18.4642 20.9190 0.10
3 37.6395 19.6864 0.02
4 43.8070 11.0028 1.25
5 27.6033 4.2800 -1.20

Nếu file này là file 3D thì không thành vấn đề rồi, ngặc nỗi là 2D, và cái cao độ là 1 đối tượng text riêng lẽ, e không biết làm như thế nào cả. ACE nào có thể giúp e cái code hay hướng dẫn cách giải quyết thì chỉ em cũng được, em từ từ làm. Hiện nay hướng giải quyết của em là chuyển sang file dxf, vì nghe nói dxf có thể truy xuất được thông tin với dạng text file, e tính tìm vị trí các điểm và các text cao độ trong text file của dxf, sau đó tìm cách gắn cao độ tương ứng với vị trí của điểm. nhưng thấy tương lai mù mịt quá...heheheh...đó là suy nghĩ giải fáp của em vì đến giờ cũng không biết làm sao nhận biết thông tin tọa độ trong file text của dxf.
Em cám ơn nhiều...


Cách thức xử lý:
Chọn tất cả các điểm, sau đó chọn tiếp tất cả các text liên quan.
Ứng với mỗi điểm, ta sẽ tìm 2 text gần nó nhất, một cái là stt, cái còn lại là cao độ.

Cuối cùng xuất ra file Excel theo thứ tự như trên stt X Y Z


Bản vẽ mẫu của bạn [có thể] không được rõ ràng lắm, nên copy một phần của bản vẽ thật để dễ đối chứng hơn.
Trong trường hợp khoảng cách giữa 2 điểm nhỏ hơn khoảng cách giữa điểm và text caođộ/stt thì thuật toán trên không làm việc chính xác.

Sẽ có chương trình trong vài giờ nữa.
  • 0
Clear sky!

MF Rock collection.

#42 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 10 June 2009 - 05:08 PM

Nhờ các ace giúp em cái này...e có 1 file cad 2D, gồm các các điểm, lân cận điểm có các text thể hiện thông tin của điểm như số thứ tự, cao độ của điểm (xem file đính kèm : http://www.cadviet.c...Drawing1_45.dwg ). Vấn đề của em là bây giờ e muốn viết 1 code để sao có thể xuất hết các thông tin này thành 1 file excel hay text với định dạng:
stt toadox toadoy docao

cụ thể áp dụng cho file này :
1 8.7320 11.8432 0.02
2 18.4642 20.9190 0.10
3 37.6395 19.6864 0.02
4 43.8070 11.0028 1.25
5 27.6033 4.2800 -1.20

Nếu file này là file 3D thì không thành vấn đề rồi, ngặc nỗi là 2D, và cái cao độ là 1 đối tượng text riêng lẽ, e không biết làm như thế nào cả. ACE nào có thể giúp e cái code hay hướng dẫn cách giải quyết thì chỉ em cũng được, em từ từ làm. Hiện nay hướng giải quyết của em là chuyển sang file dxf, vì nghe nói dxf có thể truy xuất được thông tin với dạng text file, e tính tìm vị trí các điểm và các text cao độ trong text file của dxf, sau đó tìm cách gắn cao độ tương ứng với vị trí của điểm. nhưng thấy tương lai mù mịt quá...heheheh...đó là suy nghĩ giải fáp của em vì đến giờ cũng không biết làm sao nhận biết thông tin tọa độ trong file text của dxf.



Hình đã gửi


Link đây http://www.mediafire...pSTT_X_Y_EL.exe


Tạo lại bản vẽ mới sẽ tạo các 3D text có toạ độ và nội dung là STT. Zoom All để xem.
  • 0
Clear sky!

MF Rock collection.

#43 se7en

se7en

    biết vẽ ellipse

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

Đã gửi 10 June 2009 - 06:39 PM

báo lỗi như hình bạn ơi...
bạn có thể post code lên để mình tham khảo được không ? chứ file exe thì khó tìm hiểu quá...
http://www.cadviet.c...untitled_28.jpg
  • 0
Mê xe và súng
Thích để súng trong xe

#44 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 10 June 2009 - 07:19 PM

báo lỗi như hình bạn ơi...
bạn có thể post code lên để mình tham khảo được không ? chứ file exe thì khó tìm hiểu quá...
http://www.cadviet.c...untitled_28.jpg


Cái này cần fải cài .NET framework 2.0 trên máy tính.

Mình chỉ đưa thuật toán chứ code thì lằng nhằng lắm.
  • 0
Clear sky!

MF Rock collection.

#45 q288

q288

    biết lệnh fillet

  • Members
  • PipPipPipPip
  • 209 Bài viết
Điểm đánh giá: 164 (tàm tạm)

Đã gửi 11 June 2009 - 08:34 AM

Cái này cần fải cài .NET framework 2.0 trên máy tính.

Mình chỉ đưa thuật toán chứ code thì lằng nhằng lắm.


Tưởng bạn đưa file nguồn lên chứ đưa file exe thì làm sao chứng minh được là VB "xài dễ vô cùng" được, mà nói
dễ xài mà lại "lằng nhằng" là sao?
Nếu bạn là cao thủ VBA thì nên post bài nhiều nhiều và đưa code lên để anh em còn
học hỏi nữa nhé.
  • 0

#46 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 11 June 2009 - 09:49 AM

Tưởng bạn đưa file nguồn lên chứ đưa file exe thì làm sao chứng minh được là VB "xài dễ vô cùng" được, mà nói
dễ xài mà lại "lằng nhằng" là sao?
Nếu bạn là cao thủ VBA thì nên post bài nhiều nhiều và đưa code lên để anh em còn
học hỏi nữa nhé.


Không fải là không muốn đưa code, mà do dùng thêm các thư viện riêng nên rất dài dòng.

- Các biến chung
Structure TPoint'Lưu thông tin của điểm
Dim Pos As PointF
Dim EL As Single
Dim No As String
End Structure
Dim Points() As TPoint

'Khai báo biến không tường minh
'cho nên có thể làm việc với các loại version của AutoCAD
Dim PointSelSet As Object'tập chọn điểm
Dim TextSelSet As Object'tập chọn Text

Dim Points_Selected As Boolean = False
Dim Texts_Selected As Boolean = False

- Chọn các điểm từ màn hình CAD
Private Sub cmdSelPoint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSelPoint.Click
If acAutoCAD_Link() Then 'Nếu CAD đang chạy và rảnh rỗi
'Dùng bộ lọc điểm
Dim ens() As String = {"POINT"}
Dim Data() As Object, Type() As Short

'Tạo bộ lọc và tập chọn đối tượng
acCreateFilter(ens, Type, Data) 'hàm tự làm
PointSelSet = acCreateSelectionSet("anhcos points")'hàm tự làm

'Active cửa sổ ACAD
AppActivate(Acad.Caption)

'Chọn các đối tượng điểm trên màn hình
PointSelSet.Clear()
PointSelSet.SelectOnScreen(Type, Data)

Points_Selected = PointSelSet.Count > 0

'Nếu đã chọn điểm và Text thì tiến hành tính toán
If Points_Selected And Texts_Selected Then
PointProcess() 'Tính toán ra dữ liệu của các điểm
End If

AppActivate(Me.Text) 'trở về chương trình sau khi chọn
End if
End Sub

- Chọn các TEXT từ màn hình CAD (là STT và EL)
 If acAutoCAD_Link() Then 'Nếu CAD đang chạy và rảnh rỗi
'Bộ lọc Text và MText
Dim ens() As String = {"TEXT", "MTEXT"}
Dim Data() As Object, Type() As Short

'Tạo bộ lọc đối tượng và tập chọn
acCreateFilter(ens, Type, Data)'hàm tự làm
TextSelSet = acCreateSelectionSet("anhcos Texts")'hàm tự làm

'Active cửa sổ ACAD
AppActivate(Acad.Caption)

'Chọn các đối tượng text và Mtext
TextSelSet.Clear()
TextSelSet.SelectOnScreen(Type, Data)

Texts_Selected = TextSelSet.Count > 0

'Nếu đã chọn điểm và Text thì tiến hành tính toán
If Points_Selected And Texts_Selected Then
PointProcess()
End If

'Trở về chương trình
AppActivate(Me.Text)
End If
End Sub

- Phần xử lý tìm ra liên kết giữa điểm và STT, EL
 Sub PointProcess()
Dim i, j As Integer
Dim ndPoint_variant As Object

Try
'Khởi tạo mảng lưu thôg tin các điểm
ReDim Points(PointSelSet.Count - 1)

'Gán X và Y vào trước từ toạ độ của điểm
For i = 0 To PointSelSet.Count - 1
Points(i).Pos.X = PointSelSet.Item(i).Coordinates(0)
Points(i).Pos.Y = PointSelSet.Item(i).Coordinates(1)
Next i

'Lưu toạ độ của Text để tăng tốc độ vì không fải truy xuất trực tiếp đến dữ liệu của CAD
Dim TextPos(TextSelSet.Count - 1) As PointF
For i = 0 To TextSelSet.Count - 1
'điểm chèn của Text
ndPoint_variant = TextSelSet.Item(i).InsertionPoint

'Lưu vị trí vào mảng vị trí
TextPos(i).X = ndPoint_variant(0)
TextPos(i).Y = ndPoint_variant(1)
Next i

'khoảng cách gần nhất và gần nhì đến điểm
Dim stMinDist As Single, ndMinDist As Single, Dist As Single
Dim stMinIndex, ndMinIndex As Integer

'Tìm STT và EL
For i = 0 To PointSelSet.Count - 1 'Duyệt qua từng điểm trong tập chọn điểm
stMinDist = 1000000000
ndMinDist = 1000000000
stMinIndex = -1
ndMinIndex = -1

For j = 0 To TextSelSet.count - 1 'Duyệt qua tất cả các Text trong tập chọn
Dist = CalDist(Points(i).Pos, TextPos(j)) 'Tính khoảng cách đến nó

'Xác định khoảng cách nhỏ nhất và nhỏ nhì
If stMinDist > Dist Then
stMinDist = Dist
stMinIndex = j
Else
If ndMinDist > Dist Then
ndMinDist = Dist
ndMinIndex = j
End If
End If
Next j

Try
'Vì Y của Text nhỏ hơn Y của điểm --> là STT
If TextPos(stMinIndex).Y > Points(i).Pos.Y Then
Points(i).No = TextSelSet.Item(stMinIndex).TextString 'lấy nội dung của Text
Else 'là EL
'lấy nội dung của Text và chuyển thành số
Points(i).EL = Val(TextSelSet.Item(stMinIndex).TextString)
End If

'Trong trường hợp số lượng điểm quá lớn (>10.000)
'cần xoá bớt các dữ liệu đã được xử lý ra khỏi mảng vị trí
'nhằm tăng tốc cho bước kế tiếp
Catch
End Try

Try
If TextPos(ndMinIndex).Y > Points(i).Pos.Y Then 'STT
Points(i).No = TextSelSet.Item(ndMinIndex).TextString
Else 'EL
Points(i).EL = Val(TextSelSet.Item(ndMinIndex).TextString)
End If
Catch
End Try
Next i
Catch
End Try
End Sub

- Xuất qua Excel
Private Sub cmdExcel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExcel.Click
Try
Dim xls As Object
Dim Excel As Object = CreateObject("Excel.Application")
Excel.Visible = True
Try
xls = Excel.Worksheets.Add()
Catch
xls = Excel.Workbooks.Add()
xls = Excel.Worksheets.Add()
End Try

xls.Cells(1, 1) = "STT"
xls.Cells(1, 2) = "X"
xls.Cells(1, 3) = "Y"
xls.Cells(1, 4) = "Z"

For i = 0 To PointSelSet.Count - 1
xls.Cells(i + 2, 1) = Points(i).No
xls.Cells(i + 2, 2) = Points(i).Pos.X
xls.Cells(i + 2, 3) = Points(i).Pos.Y
xls.Cells(i + 2, 4) = Points(i).EL
Next i
Catch
End Try
End Sub

  • 0
Clear sky!

MF Rock collection.

#47 mua_buon12

mua_buon12

    biết vẽ circle

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

Đã gửi 13 June 2009 - 06:56 PM

Em đang tìm hiểu về lệnh in trong cad.em muốn dùng VBA để in tự động 1 file cad được giới hạn bởi khung 400x300.em đã dùng VBA để plot vùng in bằng cách chọn 2 điểm chéo của khung 400x300.Em nhờ các bậc cao thủ trên diễn đàn giúp em sử lý 1 yêu cầu đặt ra như sau: Khi em pick chọn 2 điểm chéo của khung 400x300 thì chương trình sẽ tự động chia vùng đã chọn ra làm 4 vùng nhỏ bằng nhau và đánh số thứ tự 1,2,3,4 vào điểm bất kỳ trên 4 khung đó và cuối cùng là plot 4 vùng đó ra 4 bản(khổ giấy A4).em đang cần mong các cao thủ VBA giúp đỡ.em xin cảm ơn!
  • 0
Khi Lập Trình Kiến Thức Là Một Phần, Nghệ Thuật Mới Là Tất Cả.

#48 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 13 June 2009 - 08:29 PM

Em đang tìm hiểu về lệnh in trong cad.em muốn dùng VBA để in tự động 1 file cad được giới hạn bởi khung 400x300.em đã dùng VBA để plot vùng in bằng cách chọn 2 điểm chéo của khung 400x300.Em nhờ các bậc cao thủ trên diễn đàn giúp em sử lý 1 yêu cầu đặt ra như sau: Khi em pick chọn 2 điểm chéo của khung 400x300 thì chương trình sẽ tự động chia vùng đã chọn ra làm 4 vùng nhỏ bằng nhau và đánh số thứ tự 1,2,3,4 vào điểm bất kỳ trên 4 khung đó và cuối cùng là plot 4 vùng đó ra 4 bản(khổ giấy A4).em đang cần mong các cao thủ VBA giúp đỡ.em xin cảm ơn!


Nếu khung có kích thước cố định thì chỉ cần chọn 1 điểm cũng được phải không?
  • 0
Clear sky!

MF Rock collection.

#49 mua_buon12

mua_buon12

    biết vẽ circle

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

Đã gửi 14 June 2009 - 05:05 PM

Nếu khung có kích thước cố định thì chỉ cần chọn 1 điểm cũng được phải không?

Ok nếu chỉ cần chọn 1 điểm cũng được.yêu cầu là phải chia vùng giới hạn trong khung 400x300 đó thành 4 vùng để plot ra A3.em cảm ơn bác nhé!
  • 0
Khi Lập Trình Kiến Thức Là Một Phần, Nghệ Thuật Mới Là Tất Cả.

#50 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 17 June 2009 - 03:55 PM

Em đang tìm hiểu về lệnh in trong cad.em muốn dùng VBA để in tự động 1 file cad được giới hạn bởi khung 400x300.em đã dùng VBA để plot vùng in bằng cách chọn 2 điểm chéo của khung 400x300.Em nhờ các bậc cao thủ trên diễn đàn giúp em sử lý 1 yêu cầu đặt ra như sau: Khi em pick chọn 2 điểm chéo của khung 400x300 thì chương trình sẽ tự động chia vùng đã chọn ra làm 4 vùng nhỏ bằng nhau và đánh số thứ tự 1,2,3,4 vào điểm bất kỳ trên 4 khung đó và cuối cùng là plot 4 vùng đó ra 4 bản(khổ giấy A4).em đang cần mong các cao thủ VBA giúp đỡ.em xin cảm ơn!


Cái này dùng in trực tiếp trong Model

Const pWidth as Integer = 400
Const pHeight as Integer = 300

If acAutoCAD_Link() Then 'Nếu AutoCAD đang chạy và rảnh rỗi
'Chuyển qua cửa sổ CAD
AppActivate(Acad.Caption)

'Bản vẽ hiện hành
Dim Dwg As Object = Acad.ActiveDocument

'Tạo Text có chiều cao là 10 tại Model
Dim TextPos(2) as double
Dim TextObj As Object = Dwg.ModelSpace.AddText("hehe", TextPos, 10)

'Bật chế độ in trực quan
Dwg.SetVariable("BACKGROUNDPLOT", 0)

'Cấu hình in trong Model Space
NewPlotCfg = Dwg.ModelSpace.Layout
NewPlotCfg.ConfigName = "Tên của máy in"

'Chọn điểm đầu của khung 400x300
Dim SelPoint = Dwg.Utility.GetPoint(, "Chon diem: ")

'Điểm đầu
Dim stPoint(1) As Double
'Điểm đối điện của khung
Dim ndPoint(1) As Double

'Các giá trị hiển thị cho Text STT
'Có 4 phần tử
'Lấy thứ tự từ trái qua fải
Dim STTs(3) As String = {"vung3","vung4","vung1","vung2"}'viết bằng VB.NET, VB dài hơn

'Viết bằng VB
'Dim STTs(3) As String
'STTs(0)="vung3"
'STTs(1)="vung4"
'STTs(2)="vung1"
'STTs(3)="vung2"

Dim col, row As Integer
For row = 0 To 1 '2 hàng
For col = 0 To 1 '2 cột
'2 điểm của vùng cửa sổ
stPoint(0) = SelPoint(0) + col * pWidth / 2
stPoint(1) = SelPoint(1) + row * pHeight / 2
ndPoint(0) = stPoint(0) + pWidth / 2
ndPoint(1) = stPoint(1) + pHeight / 2

'Vị trí của Text chứa STT
TextPos(0) = stPoint(0) + 5
TextPos(1) = stPoint(1) + 5
TextObj.InsertionPoint = TextPos
'STT của Text
TextObj.TextString = STTs(col + row * 2)
'Thể hiện nó (cho chắc)
TextObj.Update()

'Thiết lập cửa sổ in
NewPlotCfg.SetWindowToPlot(stPoint, ndPoint)

'Thiết lập riêng cấu hình in
NewPlotCfg.PlotType = 4 'Kiểu in Window
NewPlotCfg.CanonicalMediaName = "A4"
NewPlotCfg.PaperUnits = 1 'mm
NewPlotCfg.CenterPlot = False
NewPlotCfg.PlotOrigin = New Double() {0, 0}

'In phần này ra thôi
Dwg.Plot.PlotToDevice()
Next col
Next row

'Xóa thằng em
TextObj.Delete
End if

Còn nếu không triển khai được thì dùng cái này cho tiện: (size: 26KB)
Hình đã gửi
http://www.mediafire...utoCADPrint.exe
  • 0
Clear sky!

MF Rock collection.

#51 mua_buon12

mua_buon12

    biết vẽ circle

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

Đã gửi 18 June 2009 - 12:52 PM

Thank anhcos!
Đây đúng là cái em đang cần, cảm ơn bác đã trợ giúp. Chúc bác một ngày tốt lành.một lần nữa em xin cảm ơn bác rất nhiều
  • 0
Khi Lập Trình Kiến Thức Là Một Phần, Nghệ Thuật Mới Là Tất Cả.

#52 mua_buon12

mua_buon12

    biết vẽ circle

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

Đã gửi 21 June 2009 - 01:56 PM

dear anhcos!
Em đã khai triển được theo như bác hướng dẫn tuy nhiên em gặp phải một số vấn đề như sau em đưa lên nhờ bác và các cao thủ VBA trợ giúp cho em với.
- Khi chọn điểm là góc dưới cùng bên trái thì khi in mặc định vùng đó là vùng in đầu tiên.yêu cầu đặt ra bây giờ là khi đánh số thứ tự vùng in đầu tiên sẽ là abc3,abc4,abc1,abc2. Thứ tự này chính là thứ tự khi in mà bác đã hướng dẫn cho em.Khi em đánh số thứ tự thì khi in không hiện lên số thứ tự đó. Em mong bác trợ giúp em phần code của đánh số thứ tự như theo thư tự trên. Em xin cảm ơn bác rất nhiều !


  • 0
Khi Lập Trình Kiến Thức Là Một Phần, Nghệ Thuật Mới Là Tất Cả.

#53 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 21 June 2009 - 04:16 PM

Bạn thêm 1 Text vào bản vẽ, di chuyển đến vị trí thích hợp khi in.
Khi in xong thì xóa nó.

Ở ví dụ trên thì lấy vị trí Text đúng góc dưới bên trái của vùng in.

Xem lại VD, mình đã edit rồi.
  • 0
Clear sky!

MF Rock collection.

#54 mua_buon12

mua_buon12

    biết vẽ circle

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

Đã gửi 24 June 2009 - 03:58 PM

Thank anhcos!
Theo hướng dẫn của bác em đã dùng VBA trên cad edit lại và chạy được khi view trước khi plot lên thì xem được 4 vùng plot tuy nhiên khi plot lại chỉ in ra vùng đầu tiên mà không in tiếp các vùng còn lại.em không hiểu vì sao nữa. Khi plot xong vùng đầu tiên em thấy chương trình báo lỗi tại dòng : Thisdrawing.plot.plottodevice. Bác chữa cháy cho em với.Em rất cảm ơn bác vì sự nhiệt tình giúp đỡ của bác. em đang cần quá mà chương trình chưa chạy được mong bác sử lý giúp em


  • 0
Khi Lập Trình Kiến Thức Là Một Phần, Nghệ Thuật Mới Là Tất Cả.

#55 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 24 June 2009 - 04:30 PM

Thiếu cái này ở đầu chương trình
Dwg.SetVariable("BACKGROUNDPLOT", 0)

hoặc vào AutoCAD đặt biến BACKGROUNDPLOT = 0
  • 0
Clear sky!

MF Rock collection.

#56 mua_buon12

mua_buon12

    biết vẽ circle

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

Đã gửi 24 June 2009 - 08:46 PM

Thank anhcos!
Thiếu cái này ở đầu chương trình
Thực ra em cũng biết là em thiếu cái đó nhưng trong VBA em viết câu lệnh đó chương trình toàn báo lỗi câu lệnh đó nên em không đưa vào. Bây giờ để em làm trên cad xem chỉnh có hiệu quả thì không cần thêm lệnh vào nữa. Em cần plot khoảng 50 bản mà phải lựa chọn như vậy rất mất thời gian em rất cảm ơn bác đã trợ giúp cho em


  • 0
Khi Lập Trình Kiến Thức Là Một Phần, Nghệ Thuật Mới Là Tất Cả.

#57 mua_buon12

mua_buon12

    biết vẽ circle

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

Đã gửi 26 June 2009 - 12:38 PM

Dear anhcos

Bác giúp em edit code plot theo thứ tự như bản vẽ em upload trên diễn đàn em với. Khi em viết trên VBA em không làm được như vậy. em mong bác nhiệt tình trợ giúp em thực sự khó khăn trong vấn đề về đặt text lên trên bản vẽ, Em rất cảm ơn bác

http://www.cadviet.c...u_tu_plot_1.jpg
  • 0
Khi Lập Trình Kiến Thức Là Một Phần, Nghệ Thuật Mới Là Tất Cả.

#58 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 26 June 2009 - 06:40 PM

Dear anhcos

Bác giúp em edit code plot theo thứ tự như bản vẽ em upload trên diễn đàn em với. Khi em viết trên VBA em không làm được như vậy. em mong bác nhiệt tình trợ giúp em thực sự khó khăn trong vấn đề về đặt text lên trên bản vẽ, Em rất cảm ơn bác

http://www.cadviet.c...u_tu_plot_1.jpg


Đã sửa trên ví dụ, bạn xem lại đi nhé.
  • 0
Clear sky!

MF Rock collection.

#59 mua_buon12

mua_buon12

    biết vẽ circle

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

Đã gửi 27 June 2009 - 03:41 PM

Thank anhcos!
Em cảm ơn bác rất nhiều. VBA thật tuyệt vời.Với những gì bác hướng dẫn em đã làm được chương trình theo đúng yêu cầu rồi.Chương trình chạy rất ổn. Hy vọng em có cơ hội được hậu tạ bác.Thank for all
  • 0
Khi Lập Trình Kiến Thức Là Một Phần, Nghệ Thuật Mới Là Tất Cả.

#60 pohan

pohan

    biết zoom

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

Đã gửi 29 June 2009 - 05:27 PM

Các bác giúp em một chương trình sao cho có thể vẽ nhanh một họ đường thẳng song song với một họ đường thẳng cho trước mà đường này lại nối tiếp vào đường trước nó đc ko? Em xin cảm ơn nhiều!
  • 0