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

Hỏi về cách chỉnh kiểu Lineweight cho line khi vẽ = vba

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

em có code đoạn thêm layer như thế này

 

Set layerObj = ThisDrawing.Layers.Add("Khung_lo")
'Set layerObj = ThisDrawing.Layers.Add("Khung_lo")
' Make the new layer the active layer for the drawing
layerObj.color = acRed
layerObj.Lineweight = acLnWt030

ThisDrawing.ActiveLayer = layerObj

 

trong đó em để linewight là 30 rồi

 

nhưng khi mà vẽ = vba vài đường line trên layer này nó lại ko hiện thị đúng độ dày của line

 

em gà autocad nên ko hiểu vì sao nó lại thế

 

cảm ơn mọi người giúp đỡ

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
em có code đoạn thêm layer như thế này

 

Set layerObj = ThisDrawing.Layers.Add("Khung_lo")
'Set layerObj = ThisDrawing.Layers.Add("Khung_lo")
' Make the new layer the active layer for the drawing
layerObj.color = acRed
layerObj.Lineweight = acLnWt030

ThisDrawing.ActiveLayer = layerObj

 

trong đó em để linewight là 30 rồi

 

nhưng khi mà vẽ = vba vài đường line trên layer này nó lại ko hiện thị đúng độ dày của line

 

em gà autocad nên ko hiểu vì sao nó lại thế

 

cảm ơn mọi người giúp đỡ

 

Khi đặt giá trị cho LineWeight thì trên bản vẽ không nhìn thấy.

Nhưng khi in nếu bạn vào sửa lại file *.ctb (nhấn vào nút Edit trong hộp thoại Plot), đặt lineweight của các màu là "Use object lineweight" thì bản vẽ in ra sẽ có độ dày như bạn đã đặt.

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
em có code đoạn thêm layer như thế này

 

Set layerObj = ThisDrawing.Layers.Add("Khung_lo")
'Set layerObj = ThisDrawing.Layers.Add("Khung_lo")
' Make the new layer the active layer for the drawing
layerObj.color = acRed
layerObj.Lineweight = acLnWt030

ThisDrawing.ActiveLayer = layerObj

 

trong đó em để linewight là 30 rồi

 

nhưng khi mà vẽ = vba vài đường line trên layer này nó lại ko hiện thị đúng độ dày của line

 

em gà autocad nên ko hiểu vì sao nó lại thế

 

cảm ơn mọi người giúp đỡ

Đọan code của bạn mới tạo Layer "Khung_lo" với thuộc tính Lineweight = acLnWt030.

Có thể do biến hệ thống CELWEIGHT đuợc đặt khác ByLayer nên khi vẽ = vba vài đường line trên layer này nó lại ko hiện thị đúng độ dày của line

 

Để các đối tuợng vẽ trên Layer này có độ dày (Lineweight) = độ dày thiết lập trên Layer "Khung_lo", cần thiết lập biến hệ thống CELWEIGHT = -1 (ByLayer)

 

ThisDrawing.SetVariable "CELWEIGHT", -1

 

Hoặc bạn đặt tỉ lệ hiển thị Lineweight nhỏ. tham khảo : http://www.cadviet.com/forum/index.php?sho...ost&p=43404

 

CODE :

Public Sub VD1()

 

Dim lineObj As AcadLine

Dim startPoint As Variant

Dim endPoint As Variant

Dim layerObj As Object

 

Set layerObj = ThisDrawing.Layers.Add("Khung_lo")

layerObj.color = acRed

layerObj.Lineweight = acLnWt030

ThisDrawing.ActiveLayer = layerObj

 

ThisDrawing.SetVariable "CELWEIGHT", -1

 

' Ve line qua 2 diem

startPoint = ThisDrawing.Utility.GetPoint(, "Enter a first point: ")

endPoint = ThisDrawing.Utility.GetPoint(, "Enter a second point: ")

Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

 

ThisDrawing.SetVariable "LWDISPLAY", 1

 

End Sub

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  

×