Review Về tọa độ trong CAD từ Excel
Mẹo về Về tọa độ trong CAD từ Excel 2022
Họ tên bố(mẹ) đang tìm kiếm từ khóa Về tọa độ trong CAD từ Excel được Cập Nhật vào lúc : 2022-12-24 20:20:07 . Với phương châm chia sẻ Thủ Thuật Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi đọc nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Ad lý giải và hướng dẫn lại nha.Trong bài trước, tôi đã hướng dẫn những bạn cách đưa tọa độ điểm từ Excel ra bản vẽ AutoCAD bằng lệnh PLINE (hoặc lệnh 3DPOLYLINE).
Trong bài này, tôi sẽ hướng dẫn những bạn thực hiện việc làmtương tự với lệnh TEXT.
Đưa tọa độ điểm đo ra bản vẽ chỉ với Excel và AutoCADGiả sử đã có một list tọa độ XYZ của những điểm. Nhiệm vụ giờ đây là đưa những điểm này ra bản vẽ AutoCAD. Có rất nhiều ứng dụng hoặc mã AutoLISP rất khác nhau hoàn toàn có thể thực hiện việc này. Nhưng ở đây, tôi sẽ chỉ dùng duy nhất Excel và AtuCAD - 2 phần mềm mà phổ biến với dân kỹ thuật!
Cũng in như lệnh PLINE, trách nhiệm của bạn là phải nhớ cấu trúc lệnh của một câu lệnh.
Trong lệnh PLINE, thứ tự lệnh gồm có:
- PLINE (Tên lệnh)
10002.8328,10002.2331 (Tọa độ điểm thứ nhất) 10013.1319,10009.1573 (Tọa độ điểm thứ hai) ... 10029.7295,10020.3162 (Tọa độ điểm thứ n) [Enter] (Để thoát lệnh
Có một điều bạn cần lưu ý: Các phiên bản AutoCAD rất khác nhau, sử dụng cấu trúc lệnh hoàn toàn có thể rất khác nhau. Trong ví dụ mẫu, tôi sử dụng cấu trúc lệnh -TEXT trên phiên bản AutoCAD 2008. Các phiên bản khác bạn tự tìm cho mình cấu trúc lệnh phù hợp!
Cấu trúc lệnh -TEXT (trong AutoCAD 2008)
- -TEXT (Tên lệnh) 40.68,-2.84 (Tọa độ điểm cơ sở TEXT dạng X,Y) 2.00 (Chiều cao TEXT) 0.00 (Góc xoay của TEXT) 15.00 (Giá trị của TEXT) [ENTER] (Để thoát lệnh)
Lưu ý: Ở đây dùng lệnh -TEXT (có dấu trừ đằng trước) để AutoCAD thực hiện câu lệnh hoàn toàn trên dòng lệnh.
Khi đã hiểu được cấu trúc lệnh -TEXT, tất cả chúng ta sẽ sử dụng Excel để tạo ra những câu lệnh theo đúng công thức trên. Sẽ mất đôi chút trở ngại vất vả khi phải làm quen với lệnh ghép những chuỗi trong Excel.
Lại nói về những hàm trong Excel. Trong Excel có rất nhiều hàm dùng để xử lý chuỗi ký tự. Trong số đó có lẽ rằng đơn giản nhất là hàm & (Có tác dụng nối liền hai chuỗi ký tự).
Trong ví dụ trước, tất cả chúng ta đã thực hiện nối liền hai số thực để tạo thành một chuỗi ký tự mới có dạng X,Y
Nối liền hai số thực để tạo chuỗi có dạng X,Y
Ngày ngày hôm nay, tất cả chúng ta sẽ phức tạp hóa lên một chút ít nữa. Để được như vậy này:
Cấu trục lệnh TEXTZoom to hơn chút nữa cấu trúc của ô H2:
="-TEXT "&C2&","&D2&","&E2&" 2 0 "&B2Hạng tử đầu tiên là tên gọi lệnh "-TEXT " (Lưu ý: Sau chữ -TEXT có một dấu cách. Dấu cách này thay cho việc sử dụng phím ENTER). Tiếp đến là hàm và & dùng để nối với sâu ký tự tiếp theo. Hạng tử thứ hai là giá trị ô C2 (Tương ứng với tọa độ X) Hàm & Hạng tử thứ ba là dấu phảy, được đặt giữa hai dấu ngoặc kép "," Hàm & Hạng tử thứ tư là giá trị ô D2 Hàm & Hạng tử thứ năm là dấu phảy, được đặt giữa hai dấu ngoặc kép "," Hàm & Hạng tử thứ sáu là giá trị ô E2 Hàm & Hạng tử thứ bảy là một chuỗi ký tự gồm có: Dấu cách (Thay cho Enter) Số 2 (Đại diện cho độ cao Text) Dấu cách (Thay cho Enter) Số 0 (Đại diện cho góc xoay Text) Dấu cách (Thay cho Enter) Hàm & Hạng tử thứ 8 và là hạng tử ở đầu cuối. Hạng tử này tùy thuộc bạn nhập. Bạn hoàn toàn có thể chọn là cao độ, cũng hoàn toàn có thể chọn Số thứ tự, hay là Tên cọc. Trong ví dụ, tôi chọn B2, tương ứng với Tên cọc.
Theo quy tắc cấu trúc câu lệnh, bạn phải kết thúc lệnh TEXT bằng một lần [ENTER]. Tuy nhiên có một điều thú vị là bạn sẽ không phải thao tác này bởi khi copy những dòng, sẽ có một ký tự [ENTER] được ẩn trong tài liệu được copy.
Bây giờ, hãy Paste tài liệu vào dòng lệnh AutoCAD và tận hưởng thành quả!
- #1
Mình muốn xuất tọa độ của một loạt những điểm (mang tên, tọa độ X, Y) sang AutoCAD và ngược lại thì làm thế nào nhỉ ?
- #2
Để hoàn toàn có thể điều khiển AutoCAD trong Excel, lấy tài liệu từ Excel sang AutoCAD, cần tạo đối Application chứa ứng dụng AutoCAD và biết phương pháp sử dụng những đối tượng của ACAD như ThisDrawing, Modelspace....
Để thực hiện được việc này, nên phải thực hiện tiến trình sau:
1 Tham chiếu đến với thư viện mở rộng của chương trình AutoCAD.
2 Viết mã lệnh thực hiện việc khởi động chương trình AutoCAD (tạo đối tượng Application của AutoCAD).
Dưới đây sẽ trình bày phương pháp khởi động chương trình AutoCAD từ ứng dụng Excel.
Tham chiếu thư viện mở rộng của chương trình AutoCAD
1 Khởi động chương trình Excel, Khởi động VBAIDE trong AutoCAD bằng phương pháp nhấn tổ hợp phím ALT+F11. , chọn trình đơn Tools > References… để hiển thị hộp thoại References dùng để tham chiếu đến thư viện mở rộng.
2 Trong list những thư viện có sẵn, chọn AutoCAD xxxx
Object Library (xxxx là phiên bản của AutoCad được cài trên máy) ð Chọn OK. Như vậy là dự án công trình bất Động sản VB đã có tham chiếu đến thư viện mở rộng của AutoCAD, nghĩa là người lập trình hoàn toàn có thể truy cập đến quy mô đối tượng của AutoCAD ngay từ bên trong Visual Basic.
Viết mã lệnh khởi động chương trình AutoCAD
3 Trong Menu, chọn trình đơn Project ð Add Module để tạo mới một module chuẩn.
4 Trong hiên chạy cửa số mã lệnh của module chuẩn, nhập đoạn mã lệnh dùng để khởi động chương trình AutoCAD như sau:
Sub ConnectToAutoCAD()
Dim App As AutoCAD.Application
On Error Resume Next
Set App = GetObject(, "AutoCAD.Application")
‘ Kiểm tra xem AutoCAD đã được khởi động chưa
‘ Nếu chưa sẽ tiến hành tạo đối tượng Application
If Err Then
Err.Clear
Set App = CreateObject("AutoCAD.Application")
If Err Then
MsgBox Err.Description
Exit Sub
End If
End If
‘Hiển thị hiên chạy cửa số chính của AutoCAD
App.Visible = True
MsgBox "Now
running " + App.Name + _
" version " + App.Version
End Sub
5 Thực thi thủ tục: ConnectToAutoCAD như trên, chương trình AutoCAD sẽ được khởi động.
Chúc bạn thành công!
- #3
Mình muốn xuất tọa độ của một loạt những điểm (mang tên, tọa độ X, Y) sang AutoCAD và ngược lại thì làm thế nào nhỉ ?
Lấy tọa tên, độ điểm của những ô trong Excel và vẽ lên AutoCad, viết Code từ VBA Excel:
Giả sử tôi có một file Excel có số liệu như sau
A B C D
1 12 8 0
2 12 9 0
3 12 10 0
4 12 11 0
5 12 12 0
6 12 13 0
7 12 14 0
8 12 15 0
9 12 16 0
10 12 17 0
11 12 18 0
TRong đó cột thứ nhất là tên gọi những điểm, cột thứ 2, 3, 4 lần lượt là tọa độ X,Y,Z của điểm tương ứng. Ta hoàn toàn có thể viết như sau để điều khiển Cad vẽ ra những điểm này
Sub ExporttoCad()
Dim Cad As Object
Dim VPoint As Object
Dim Point(2) As Double
Dim i As Long
Set Cad = GetObject("C:A.dwg") '(Coi nhu da co 1 file
A.dwg ngoài ổ C)
For i = 1 To 11
Point(0) = Cells(i, 2)
Point(1) = Cells(i, 3)
Set VPoint = Cad.ModelSpace.AddPoint(Point)
Next i
Cad.Save
End Sub
- #4
Bạn Chạy file bày xem nhé
Vi du dieu khien cad.xls
18 KB · Đọc: 2,898
- #5
Cám ơn những bạn.
Ngoài ra tôi đã và đang nhờ bạn của tớ làm được như sau, những bạn tham khảo, hiện chỉ có font chữ nếu là mã UNICODE thì chưa xuất sang CAD được, bạn nào biết sửa giùm:
VeSangACAD.zip
89.3 KB · Đọc: 2,295
Lần sửa đổi cuối: 12/7/08
- #6
Cám ơn những bạn.
Ngoài ra tôi đã và đang nhờ bạn của tớ làm được như sau, những bạn tham khảo, hiện chỉ có font chữ nếu là mã UNICODE thì chưa xuất sang CAD được, bạn nào biết sửa giùm:
Sửa trong
Mã:
Sub [B]DrawCells[/B](R As Range) ... For i = 1 To M If R(i, 1).EntireRow.Hidden = False Then [B][COLOR=blue] objName = EnCode(R(i, 1))[/COLOR][/B] objX = R(i, 2) objY = R(i, 3) ..Sau đó thêm hàm này
Mã:
Function EnCode(Target As Range) As String Dim EcTxt$, codeTxt$, i%, c%, s$ On Error Resume Next codeTxt = "U+0000" For i = 1 To Len(Target) s = Mid(Target, i, 1) c = AscW(s) If c > 127 Then s = Hex(c) s = Left(codeTxt, 7 - Len(s)) & s End If EcTxt = EcTxt & s Next EnCode = EcTxt End FunctionRiêng chữ ơ bị lỗi vì mã của nó trùng với mã điều khiển nào đó
Lần sửa đổi cuối: 23/1/09
- #7
Em có bảng toạ độ những điểm trong một file excel. Em muốn vẽ những điểm này trên cad thì làm thế nào. Có anh chị nào biết chỉ giúp em với. Em có đọc một và hướng dẫn nhưng vẫn chưa hiểu.(Trong nội dung bài viết trên của bạn PMXD được bố trí theo hướng dẫn viết đoạn mã, nhưng viết vào đâu và sau đó làm gì nữa.)
- #8
Lấy tọa tên, độ điểm của những ô trong Excel và vẽ lên AutoCad, viết Code từ VBA Excel:
Giả sử tôi có một file Excel có số liệu như sau
A B C D
1 12 8 0
2 12 9 0
3 12 10 0
4 12 11 0
5 12 12 0
6 12 13 0
7 12 14 0
8 12 15 0
9 12 16 0
10 12 17
0
11 12 18 0
TRong đó cột thứ nhất là tên gọi những điểm, cột thứ 2, 3, 4 lần lượt là tọa độ X,Y,Z của điểm tương ứng. Ta hoàn toàn có thể viết như sau để điều khiển Cad vẽ ra những điểm này
Sub ExporttoCad()
Dim Cad As Object
Dim VPoint As Object
Dim Point(2) As Double
Dim i As Long
Set Cad = GetObject("C:A.dwg") '(Coi nhu da co 1 file A.dwg ngoài ổ C)
For i = 1 To 11
Point(0) = Cells(i, 2)
Point(1) = Cells(i, 3)
Set VPoint =
Cad.ModelSpace.AddPoint(Point)
Next i
Cad.Save
End Sub
Bạn hoàn toàn có thể chỉ rõ ràng bài này được k?
- file Excel phải lưu tên gì? đặt ở đâu?
- cách nhập tọa độ từ bảng Excel?
thanks
- #9
vấn đề này rất hay, nhưng lúc bấy giờ mình chẳng biết tí gì về Visual Basic cả,nếu ai có tài năng liệu hay hướng dẫn nào thật đơn giản, những bạn làm ơn gửi qua mail
giùm mình nhe!chân thành cám ơn
- #10
Kinh nghiệm nho nhỏ, chỉ việc copy và paste vào trong cad thôi:
Trong excel, tạo 2 cột: 1 cột point và 1 cột tọa độ dạng (X,Y) ---> copy và paste vào cad
- #12
Bạn sài thử cái này xem. File Excel lưu tùy ý miễn nhớ đường dẫn.
Có hướng dẫn theo kèm đó
Tien ich cho trac dia.rar
237.3 KB · Đọc: 2,188
- #13
xuất tọa độ từ exel sang cad
Em có một phai tài liệu trong exel nhờ những anh chị chuyển hộ sang cad hộ em với, đúng theo tọa độ đã có ở trong exel
xuat tu exel sang cad.rar
92.8 KB · Đọc: 489
Lần sửa đổi cuối: 16/1/13
- #14
Cảm ơn bạn "tiện ích cho trắc địa" đúng là cái mình đang cần, nhưng bạn hoàn toàn có thể sửa lại cho mình chút ít nữa được không. trong tiện ích load điểm, cột nhập tên điểm chuyển thành cột họ và tên đã có được không. vì mình nhập số thứ tự vào thì đúng nhưng khi nhập họ và tên người load vào cad lại không đúng nữa. Minh gửi phai mẫu bạn giúp mình nhé, minh đang rất cần nó xin cảm ơn nhiều
mau.rar
38.7 KB · Đọc: 231
- #15
Có ai không? giúp mình với.............
- #16
Mình thật sự không hiểu "van_k49" định làm cái gì. Nếu bạn là dân trắc địa thì dùng phần mềm của Hài hòa (HS, TÔPO) hoặc những phần mềm khác tương tự đi. Con nếu không phải hãy hỏi dân trắc địa là xong ngay.
- #17
giúp mình dòng code này với ???
Private Sub CBViDu_Change()
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo thoat
Dim bEnableEvents As Boolean
bEnableEvents = Application.EnableEvents
Application.EnableEvents = False
If Target.Column = 2 Then
Call thaydoi
Call MaKH
ActiveCell.Select
Else
Call Hide
End If
thoat: Application.EnableEvents = bEnableEvents
Dim i As Integer
Dim dau As Integer, cuoi As Integer
Dim DL As String, Dgiai As String
Dim gt As String
Application.ScreenUpdating = False
Application.EnableEvents = False
If Target.Column = 3 Then
If IsEmpty(Target) Or Cells(Target.Row, 1).Value <> 0 Then GoTo thoat1
If InStr(1, Target.Value, ":") > 0 Then
dau = InStr(1, Target.Value, ":")
Else
dau = 0
End
If
If InStr(1, Target.Value, "=") > 0 Then
cuoi = InStr(1, Target.Value, "=") - 1
Else
cuoi = Len(Target.Value)
End If
If cuoi = dau Or cuoi < dau Then GoTo thoat1
Dgiai = RTrim(LTrim(Left(Target.Value, cuoi)))
DL = RTrim(LTrim(Mid(Target.Value, dau + 1, cuoi - dau)))
DL = Replace(DL, ",", ".")
Target.Formula = Dgiai & " = " & Round(Evaluate(DL), 3)
Target.Characters(Start:=Len(Dgiai) + 4, Length:=Len(Round(Evaluate(DL),
3))).Font.ColorIndex = 3
Target.Interior.ColorIndex = xlNone
For i = Target.Row To 1 Step -1
If Cells(i, 1).Value > 0 Then
If DiengiaiTL(Cells(Target.Row + 1, Target.Column)) = 0 Then
Cells(i, 5).Formula = "=DiengiaiTL(C" & (i + 1) & ":C" & Target.Row & ")"
Else
gt = Cells(i, 4).Formula
Cells(i, 4).Formula = gt
End If
Exit For
End If
Next
GoTo thoat1
Target.Interior.ColorIndex = 4
End If
thoat1:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
cảm ơn những bạn.
- #18
Bạn sài thử cái này xem. File Excel lưu tùy ý miễn nhớ đường dẫn.
Có hướng dẫn theo kèm đó
bạn cho mình hỏi cách dùng tiện ích ra làm sao.bạn hướng dẫn rõ ràng giúp mình với nhé.cản ơn bạn rất nhiều
- #19
Minh tải về ve nhung chua biet cach su dung ban huong dan chi tiet dc ko ah
- #20
Báo bảng có 3 cột là sao bạn.
Tải thêm tài liệu liên quan đến nội dung bài viết Về tọa độ trong CAD từ Excel
Post a Comment