thikb219
-
Số lượng nội dung
14 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi thikb219
-
-
Thank pác dinhvantrang nhiều dinhvantrang cho mình hỏi có cách nào mình cho nó hiện thông báo tổng chiều dài các đoạn vừa vẽ lên được không dinhvantrang? rất mong nhận được sự giúp đỡ của dinhvantrang và mọi người trên diễn đàn
-
giúp mình luôn được không híc B)
-
Tuyệt vời cảm ơn Dinhvantrang rất nhiều mình đang rất càn cái này mà không biết làm sao :P
-
Chào mọi người,
Mình có một đoạn code để vẽ 1 đường thẳng như bên dưới : nhưng đoạn code đó chỉ vẽ được 1 line duy nhất, có cách nào để viết code vẽ được liên tục các đoạn line với số lần tuỳ thích và chỉ kết thúc lệnh vẽ line khi sử dụng phím "Esc" trên bàn phím không, mong mọi người giúp đỡ mình nha.
sub vedoanline ()
Dim returnPnt As Variant
Dim basePnt As Variant
returnPnt = ThisDrawing.Utility.GetPoint(, "Nhap: ")
basePnt1 = ThisDrawing.Utility.GetPoint(returnPnt, "nhap: ")
Set lineObj = ThisDrawing.ModelSpace.AddLine(basePnt1, returnPnt)
lineobj.update
end sub
Dim returnPnt As VariantDim returnPnt As VariantDim returnPnt As VariantDim returnPnt As VariantDim basePnt As VariantDim returnPnt As VariantDim basePnt As VariantPublic Sub DOCHIEUDAI()Dim lineObj As AcadLineDim VUNG As ObjectDim SOGIATRI As IntegerOn Error Resume NextSet ExcelApp = GetObject(, "Excel.Application")Dim objlayer As AcadLayerT = ExcelApp.ActiveCell.RowDim returnPnt As VariantDim basePnt As VariantDim text As AcadTextDim textString As StringDim textHeight As DoubleDim line As AcadLineDim obj As AcadObjectDim pp' TAO LAYER TUONG UNG VOI STT O BEN EXCELI = ExcelApp.ActiveCell.RowIf ExcelApp.Worksheets("SHEET1").CELLS(I, 25).Value = 0 ThenSet thi1 = ActiveDocument.Layers.Add("T" & I)ActiveDocument.ActiveLayer = ActiveDocument.Layers("T" & I)textString = ("T" & I)textHeight = 250' VE COT 1If ExcelApp.Worksheets("SHEET1").CELLS(T, 27).Value = 0 ThenreturnPnt = ThisDrawing.Utility.GetPoint(, "Nhap KTCOT1: ") 'NHAP DIEM DAUbasePnt1 = ThisDrawing.Utility.GetPoint(returnPnt, "KTCOT1: ") ' NHAP DIEM CUOISet lineObj = ThisDrawing.ModelSpace.AddLine(basePnt1, returnPnt) ' ve DOAN THANG'Set lineObj = ThisDrawing.PaperSpace.AddLine(basePnt, returnPnt) ' kho cho hinh tren cadlineObj.color = 7 ' MAU CHO LINEOBJlineObj.Update ' HIEN DAON THANG LINEOBJ LEN MAN HINH CADKTC1 = lineObj.Length ' GAN CHIEU DAI DOAN THANG BANG BIEN DAILINEExcelApp.Worksheets("SHEET1").CELLS(I, 31).Value = KTC1 ' GAN VAO COT 34 BEN EXCEL GIA TRI CHIEU DAI CUA LINEEnd IfPublic Sub DOCHIEUDAI()Dim lineObj As AcadLineDim VUNG As ObjectDim SOGIATRI As IntegerOn Error Resume NextSet ExcelApp = GetObject(, "Excel.Application")Dim objlayer As AcadLayerT = ExcelApp.ActiveCell.RowDim returnPnt As VariantDim basePnt As VariantDim text As AcadTextDim textString As StringDim textHeight As DoubleDim line As AcadLineDim obj As AcadObjectDim pp' TAO LAYER TUONG UNG VOI STT O BEN EXCELI = ExcelApp.ActiveCell.RowIf ExcelApp.Worksheets("SHEET1").CELLS(I, 25).Value = 0 ThenSet thi1 = ActiveDocument.Layers.Add("T" & I)ActiveDocument.ActiveLayer = ActiveDocument.Layers("T" & I)textString = ("T" & I)textHeight = 250' VE COT 1If ExcelApp.Worksheets("SHEET1").CELLS(T, 27).Value = 0 ThenreturnPnt = ThisDrawing.Utility.GetPoint(, "Nhap KTCOT1: ") 'NHAP DIEM DAUbasePnt1 = ThisDrawing.Utility.GetPoint(returnPnt, "KTCOT1: ") ' NHAP DIEM CUOISet lineObj = ThisDrawing.ModelSpace.AddLine(basePnt1, returnPnt) ' ve DOAN THANG'Set lineObj = ThisDrawing.PaperSpace.AddLine(basePnt, returnPnt) ' kho cho hinh tren cadlineObj.color = 7 ' MAU CHO LINEOBJlineObj.Update ' HIEN DAON THANG LINEOBJ LEN MAN HINH CADKTC1 = lineObj.Length ' GAN CHIEU DAI DOAN THANG BANG BIEN DAILINEExcelApp.Worksheets("SHEET1").CELLS(I, 31).Value = KTC1 ' GAN VAO COT 34 BEN EXCEL GIA TRI CHIEU DAI CUA LINEEnd IfPublic Sub DOCHIEUDAI()Dim lineObj As AcadLineDim VUNG As ObjectDim SOGIATRI As IntegerOn Error Resume NextSet ExcelApp = GetObject(, "Excel.Application")Dim objlayer As AcadLayerT = ExcelApp.ActiveCell.RowDim returnPnt As VariantDim basePnt As VariantDim text As AcadTextDim textString As StringDim textHeight As DoubleDim line As AcadLineDim obj As AcadObjectDim pp' TAO LAYER TUONG UNG VOI STT O BEN EXCELI = ExcelApp.ActiveCell.RowIf ExcelApp.Worksheets("SHEET1").CELLS(I, 25).Value = 0 ThenSet thi1 = ActiveDocument.Layers.Add("T" & I)ActiveDocument.ActiveLayer = ActiveDocument.Layers("T" & I)textString = ("T" & I)textHeight = 250' VE COT 1If ExcelApp.Worksheets("SHEET1").CELLS(T, 27).Value = 0 ThenreturnPnt = ThisDrawing.Utility.GetPoint(, "Nhap KTCOT1: ") 'NHAP DIEM DAUbasePnt1 = ThisDrawing.Utility.GetPoint(returnPnt, "KTCOT1: ") ' NHAP DIEM CUOISet lineObj = ThisDrawing.ModelSpace.AddLine(basePnt1, returnPnt) ' ve DOAN THANG'Set lineObj = ThisDrawing.PaperSpace.AddLine(basePnt, returnPnt) ' kho cho hinh tren cadlineObj.color = 7 ' MAU CHO LINEOBJlineObj.Update ' HIEN DAON THANG LINEOBJ LEN MAN HINH CADKTC1 = lineObj.Length ' GAN CHIEU DAI DOAN THANG BANG BIEN DAILINEExcelApp.Worksheets("SHEET1").CELLS(I, 31).Value = KTC1 ' GAN VAO COT 34 BEN EXCEL GIA TRI CHIEU DAI CUA LINEEnd IfPublic Sub DOCHIEUDAI()Dim lineObj As AcadLineDim VUNG As ObjectDim SOGIATRI As IntegerOn Error Resume NextSet ExcelApp = GetObject(, "Excel.Application")Dim objlayer As AcadLayerT = ExcelApp.ActiveCell.RowDim returnPnt As VariantDim basePnt As VariantDim text As AcadTextDim textString As StringDim textHeight As DoubleDim line As AcadLineDim obj As AcadObjectDim pp' TAO LAYER TUONG UNG VOI STT O BEN EXCELI = ExcelApp.ActiveCell.RowIf ExcelApp.Worksheets("SHEET1").CELLS(I, 25).Value = 0 ThenSet thi1 = ActiveDocument.Layers.Add("T" & I)ActiveDocument.ActiveLayer = ActiveDocument.Layers("T" & I)textString = ("T" & I)textHeight = 250' VE COT 1If ExcelApp.Worksheets("SHEET1").CELLS(T, 27).Value = 0 ThenreturnPnt = ThisDrawing.Utility.GetPoint(, "Nhap KTCOT1: ") 'NHAP DIEM DAUbasePnt1 = ThisDrawing.Utility.GetPoint(returnPnt, "KTCOT1: ") ' NHAP DIEM CUOISet lineObj = ThisDrawing.ModelSpace.AddLine(basePnt1, returnPnt) ' ve DOAN THANG'Set lineObj = ThisDrawing.PaperSpace.AddLine(basePnt, returnPnt) ' kho cho hinh tren cadlineObj.color = 7 ' MAU CHO LINEOBJlineObj.Update ' HIEN DAON THANG LINEOBJ LEN MAN HINH CADKTC1 = lineObj.Length ' GAN CHIEU DAI DOAN THANG BANG BIEN DAILINEExcelApp.Worksheets("SHEET1").CELLS(I, 31).Value = KTC1 ' GAN VAO COT 34 BEN EXCEL GIA TRI CHIEU DAI CUA LINEEnd If -
ok thank bạn và thank mọi người trên diễn dàn rất nhiều rất nhiều mình đã làm được :P
-
thank mọi người rất nhiều mình đã làm được rồi. Nhưng cho mình hỏi một vấn đề nữa nhé có cách nào mà khi mình vẽ line bằng câu lệnh "Set lineObj = ThisDrawing.ModelSpace.AddLine(Pt1, Pt2)" thì tự động copy ra 1 line nữa đến một tọa độ được mình chỉ đinh trong cad không ta?
Rất mong được mọi người giúp đỡ
-
Bạn xem lại dùm mình copy nguyên đoạn mã trên vô mà vẫn không chạy được vẫn báo lối "MidPoint" híc
-
bạn xem dùm sao cái "Set text = .ModelSpace.AddText(TextString, MidPoint(basePnt, returnPnt), TextHeight)" bị lỗi tại chỗ MidPoint(basePnt, returnPnt), không biết sao không chay được
xem lại giúp mình với nha
thank!
-
Không ai giúp mình với à híc
-
Chào mọi người,
Mình có đoạn mã như bên dưới nhưng khi vẽ xong đoạn thẳng thì text có tên "STT" ghi ở cuối đoạn thẳng vừa vẽ, Bây giờ mình muốn text đó ghi ở giữa đoạn thẳng vừa vẽ không biết có cách nào không mọi người giúp đỡ với nha.
textString =STT
returnPnt = ThisDrawing.Utility.GetPoint(, "Nhap mot diem: ")
.basePnt = ThisDrawing.Utility.GetPoint(returnPnt, "Nhap mot diem: ")
Set LineObj = ThisDrawing.ModelSpace.AddLine(basePnt, returnPnt)
LineObj.Update
With ThisDrawingUtility.GetEntity LineObj, ppSet line = LineObjSet text = .ModelSpace.AddText _(textString, line.EndPoint, textHeight)With ThisDrawingUtility.GetEntity LineObj, ppSet line = LineObjSet text = .ModelSpace.AddText _(textString, line.EndPoint, textHeight)With ThisDrawing
Utility.GetEntity LineObj, pp
Set line = LineObj
Set text = .ModelSpace.AddText _
(textString, line.EndPoint, textHeight)
OISet LineObj = ThisDrawing.ModelSpace.AddLine(basePnt, returnPnt) 'returnPnt = ThisDrawing.Utility.GetPoint(, "Nhap mot diem: ") 'NHAP DIEM DAUbasePnt = ThisDrawing.Utility.GetPoint(returnPnt, "Nhap mot diem: ") ' NHAP DIEM CUOISet LineObj = ThisDrawing.ModelSpace.AddLine(basePnt, returnPnt) ' ve DOAN THANG -
Chào mọi người mình có một vấn đề của autocad như sau xin trình bày mong mọi người giúp đỡ nha :
+ Trong vba cad có cách nào khi ta nhập số bất kỳ hoặc text thì hiện ra hộp thông báo về số hoặc text ta vừa nhập không?
+ Tương tự khi ta không nhập mà chọn số hoặc text đã có sẵn tren màn hình autocad thì cũng hiện ra msgbox thông báo các giá trị vừa được lựa chọn?
Mong mọi người giúp đỡ nhà VBA hơi gà.....
Thanks nhiều!
-
Không có ai giúp mình với a
híc B)
- 1
-
Chào mọi người,
Mọi người có cách nào để khi vẽ bằng lệnh "line <> L" or "pline <> PL" thì lấy luôn chiều dài của đoạn vừa vẽ không?
Ai rành VBA cad giúp mình với nha.
Thanks các bạn nhiều
- 1
Vẽ liên tục line bằng vba cad help?
trong Lập trình khác
Đã đăng · Trả lời báo cáo
ok thank bạn nhiều :P