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

Em cần giúp sửa vba chấm point và xuất cao độ

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

E là gà mờ mong các bác sửa giúp e vs ạ.
E có muốn tạo 1 code chấm điểm point và xuất ra text=(cao độ z) của point đó.
E xin cảm ơn.

 

Sub addpoint()
    Dim objss As AcadSelectionSet
    Set objss = ThisDrawing.SelectionSets.Add(Now)
        
    Dim FT(0) As Integer
    Dim FD(0) As Variant
    Dim Objpoint As AcadPoint
    Dim point As Variant

    
    point = ThisDrawing.Utility.GetPoint
    
    Set Objpoint = ThisDrawing.ModelSpace.addpoint(point)

    
    Dim objtext As AcadText
    Dim textpoint(3) As Double
    
    For Each Objpoint In objss
        textpoint(0) = Objpoint.point(0)
        textpoint(1) = Objpoint.point(1)
        
    Set objtext = ThisDrawing.ModelSpace.addtext(Round(textpoint(2), 3), Objpoint.textpoint, 0.25)
    
    Next
    objss.Delete
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

Bạn sẽ Pick điểm rồi từ điểm đó tạo ra một Text có Textstring chính bằng cao độ của Point bạn vừa Pick uh?

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
5 phút trước, CadExTools đã nói:

Bạn sẽ Pick điểm rồi từ điểm đó tạo ra một Text có Textstring chính bằng cao độ của Point bạn vừa Pick uh?

dạ đúng ạ

 

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

Bạn thử:

Sub addpoint()

    Dim varpoint As Variant

    varpoint = ThisDrawing.Utility.GetPoint
    
    Set Objpoint = ThisDrawing.ModelSpace.addpoint(varpoint)

    
    Dim objtext As AcadText
    Dim textpoint(2) As Double
    
    textpoint(0) = varpoint(0)
    textpoint(1) = varpoint(1)
    textpoint(2) = varpoint(2) * 1000
        
    Set objtext = ThisDrawing.ModelSpace.addtext(Round(varpoint(2), 3), varpoint, 0.25)
    
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
17 phút trước, CadExTools đã nói:

Bạn thử:

Sub addpoint()

    Dim varpoint As Variant

    varpoint = ThisDrawing.Utility.GetPoint
    
    Set Objpoint = ThisDrawing.ModelSpace.addpoint(varpoint)

    
    Dim objtext As AcadText
    Dim textpoint(2) As Double
    
    textpoint(0) = varpoint(0)
    textpoint(1) = varpoint(1)
    textpoint(2) = varpoint(2) * 1000
        
    Set objtext = ThisDrawing.ModelSpace.addtext(Round(varpoint(2), 3), varpoint, 0.25)
    
End Sub

Tuyệt vời bác ơi. e muốn nhờ bác sửa thêm nó làm tròn đến số thứ 2 sau dấu phẩy. 
ví dụ 0.879-> 0.880 ạ. E cảm ơn bác nhiều.

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
Vừa xong, tronganh210494@gmail.com đã nói:

Tuyệt vời bác ơi. e muốn nhờ bác sửa thêm nó làm tròn đến số thứ 2 sau dấu phẩy. 
ví dụ 0.879-> 0.880 ạ. E cảm ơn bác nhiều.

Set objtext = ThisDrawing.ModelSpace.addtext(Format(Round(varpoint(2), 2),"#0.000"), varpoint, 0.25)

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
21 phút trước, CadExTools đã nói:

Set objtext = ThisDrawing.ModelSpace.addtext(Format(Round(varpoint(2), 2),"#0.000"), varpoint, 0.25)

Cảm ơn bác nhiều nha. hay quá ạ

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  

×