huyhoangute
-
Số lượng nội dung
15 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi huyhoangute
-
-
InsertBlock
trong Lập trình khác
cho mình hỏi luôn là tọa độ điểm chèn của block toàn chạy đi đâu thui chứ không như tọa độ mình chọn (mặc dù file chứa block mình đã tạo block ở gốc tọa độ).
-
InsertBlock
trong Lập trình khác
Srr vì viết vội^^.Mình viết trong trường hợp trong fle CAD đó chưa nhiều Block.@chủ 2pic: để insert 1 block chứa trong 1 file,đầu tiên bạn phải khai báo đường dẫn tới file đó.
Khi bắt đầu chạy code thì sẽ có hàm khởi tạo insert toàn bộ file chứa block.
Sau đó,muốn insert block nào thì dùng tên block đó
Sub Khoi_Tao() 'On Error GoTo out: Dim diemchen(0 To 2) As Double Dim BlockFile ' Insert file chua block BlockFile = "C:\fileblock.dwg" ' Duong dan file dwg Dim blockRefObj As AcadBlockReference Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(diemchen BlockFile, 1#, 1#, 1#, 0) blockRefObj.Delete out: End Sub Private Sub chen_block() Khoi_tao Dim tpoint Dim blockRefObj As AcadBlockReference tpoint = ThisDrawing.Utility.GetPoint(, "Diem dat block: ") 'insert block trong file chua block Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(tpoint, "ten_Block", 1#, 1#, 1#, 0) 'ten 1 block trong file dwg End Sub
Code trên chạy ok rùi nhưng Bác có thể giải thích đoạn code trên cho em được không? em chưa hiểu lắm.
Đầu tiên là gọi bản vẽ chứa block thì ok, đến cái blockRefObj.Delete tại sao lại xóa??? rùi lại out: nữa???
Nói chung là code từ đoạn blockRefObj.Delete về sau em ko hiểu, bác giải thích giúp em nhé!
-
cho em hỏi có cách nào hiển thị block của bản vẽ khác (bản vẽ không hiện hành) ko? ví dụ em đặt file chứa block trong ổ C:\block.dwg
thanks!
-
InsertBlock
trong Lập trình khác
Bạn làm ngược lại so với phần code trên kia là xong thôi.Bạn cho mình code cụ thể hơn được không, làm thế nào để gọi được các block trong bản vẽ không hiện hành. Thanks!
-
InsertBlock
trong Lập trình khác
Private Sub chen_block() Dim tpoint Dim blockRefObj As AcadBlockReference tpoint = ThisDrawing.Utility.GetPoint(, "Diem dat block: ") Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(tpoint, "ten Block", 1#, 1#, 1#, 0) End Sub
Bạn thử đoạn này xem sao
"ten Block" của bạn thực ra đó là tên file chứa các block chứ không phải là tên Block chứa trong file
-
1
-
-
InsertBlock
trong Lập trình khác
Mình có 2 bản vẽ: 1 bản là bản vẽ không có gì (bản vẽ mới) và 1 bản vẽ có chứa 3 block có tên là 1,2 và 3Cho mình hỏi là làm thế nào để chèn vào bản vẽ mới block 1 hoặc 2 hoặc 3 (tức là không đồng thời chèn cả 3 block vào).
Dùng lệnh
Command: dc
Xuất hiện
Bảng biểu
Chọn bảng vẽ chứa blok
Chọn block cần lấy
dùng chột lôi vào là bảng vẽ mới là được
vuhaiok@yahoo.com.vn
:cheers: :leluoi:
Mấy anh "đọc kĩ hướng dẫn sử dụng trước khi dùng hộ em cái", đã bảo là VBA mà. Đến bó tay!
-
InsertBlock
trong Lập trình khác
Sử dụng như sau:Copy Block có tên abc từ bản vẽ hiện hành qua bản vẽ khác
Dim ban_ve_khac as AcadDocument
Set biến ban_ve_khac này ở đây
Dim object_to_copies(0) as AcadEntity
set object_to_copies(0) = ThisDrawing.Blocks.Item("abc")
ThisDrawing.CopyObject object_to_copies, ban_ve_khac
Mình muốn copy block từ một bản vẽ đã có (coi như là một thư viện ) vào bản vẽ hiện hành cơ. help me, thanks!
-
InsertBlock
trong Lập trình khác
hic, đang trong mục VBA mà, mình cần là cần code VBA để làm điều đó! dù san cũng thanks bạn vì nhiệt tình chia sẻ.
-
InsertBlock
trong Lập trình khác
Mình có 2 bản vẽ: 1 bản là bản vẽ không có gì (bản vẽ mới) và 1 bản vẽ có chứa 3 block có tên là 1,2 và 3
Cho mình hỏi là làm thế nào để chèn vào bản vẽ mới block 1 hoặc 2 hoặc 3 (tức là không đồng thời chèn cả 3 block vào).
-
ok, thanks!
đính chính lại 1 chút nữa "i1 = 0: j1 = 0" thành "i1 = 0: i2 = 0" :s_big: :leluoi: :cheers: :D
-
Em có 1 file thế này http://www.cadviet.com/upfiles/3/vidu_3.dwg
Xin hỏi trong VBA làm thế nào để có thể đếm được số đối tượng có hình tròn có dấu cộng ở giữa, hình tròn có số dấu gạch chéo ở giữa, và đường tròn không có gì?
Em chỉ có thể đếm trên bản vẽ có bao nhiêu đường tròn (cà đường tròn có dấu cộng và hình tròn có dấu gạch chéo) theo code này:
Private Sub CommandButton1_Click()
UserForm1.Hide
Dim asset As AcadSelectionSet
Dim i As Integer
'Bo qua loi neu asset khong ton tai
On Error Resume Next
ActiveDocument.SelectionSets.Item("asset").Delete
'Tao asset
Set asset = ActiveDocument.SelectionSets.Add("asset")
'Chon toan bo doi tuong trong ban ve vao asset
Dim gpCode(0) As Integer
Dim dataValue(0) As Variant
gpCode(0) = 0
dataValue(0) = "Circle"
Dim groupCode As Variant, dataCode As Variant
groupCode = gpCode
dataCode = dataValue
asset.SelectOnScreen groupCode, dataCode
'Duyet cac doi tuong
Dim Doituong As AcadCircle
i = 0
For Each Doituong In asset
i = i + 1
Next
MsgBox " Co " & i & " duong tron."
End Sub
-
Em đọc trong bài viết: http://www.cadviet.com/cadnews/content/view/93/1/
có dòng "Hàm này trả về giá trị của mã id của đối tượng obj"
và thực tế là mỗi đối tượng đều có 1 ID
vậy cho em hỏi là
- Chỉ số ID của đối tượng bất kì trên CAD được tính thế nào?
- Em thấy chỉ có lệnh ID để xem ID của một điểm, vậy lệnh ID của đối tượng là gì?
-
hic, ko ai giúp mình trả lời được câu hỏi này ah???????
-
Khi dùng lệnh color trong CAD xuất hiện một Form Color Index để chọn màu
Ai có thể giúp em code bài tập này với:
- Tạo 1 Form có chứa 1 button
- Khi click 1 button -> Form chứa button ẩn đi-> lựa chọn 1 đối tượng trên bản vẽ-> lựa chọn xong nhấn Enter-> bảng Index Color hiện ra để chúng ta chọn màu -> nhấn OK trên Index Color thì đối tượng được chọn sẽ đổi thành màu được chọn.
Cảm ơn mọi người đã giúp đỡ!
AutoCAD .NET
trong Lập trình khác
Đã đăng · Trả lời báo cáo
Bác nào có ebook "VB.NET Programming for AutoCAD Customization" cho em xin được không?
mail: phunghuyhoang@gmail.com
xin cảm ơn và hậu tạ nếu có thể :undecided: