Aveva Marine VBNET 编程系列   获取文字

此系列的教程,暂时不更新,因为没多少人愿意加入一起学习的行列,有需要学习的可以加我微信或者QQ讨论

电话:17607170146(微信同号)

QQ:442024898

提取图纸中的文字,

 

 

<MyAmFunctionAtt(NameOf(用户交互), NameOf(选择单个文字))> Public Sub 选择单个文字(wm As WindowManager)
Dim amEnv As New AmEnvironment()
Try
If Not amEnv.DraftApp.DwgCurrent() Then MsgBox("当前未开启任何图纸,结束命令!", MsgBoxStyle.Critical) : Exit Sub
Dim pt As MarPointPlanar = Pick2dPt(amEnv)
If pt Is Nothing Then
MsgBox("拾取点失败", MsgBoxStyle.Critical)
amEnv.Dispose()
Return
End If
Try
Dim ele = amEnv.DraftApp.TextIdentify(pt)
Dim t As MarText = amEnv.DraftApp.TextPropertiesGet(ele)
MsgBox(t.String)
Catch ex As Exception
MsgBox("拾取文字失败", MsgBoxStyle.Critical)
amEnv.Dispose()
Return
End Try
Catch ex As Exception
MsgBox(ex.StackTrace)
Finally
amEnv.Dispose()
End Try
End Sub
Public Shared Function Pick2dPt(env As AmEnvironment, Optional promptstr As String = "Pick one Point") As MarPointPlanar
Dim ptrtn As MarPointPlanar = New MarPointPlanar()
Dim flag As Boolean = env.MarUI.PointPlanarReq(promptstr, ptrtn) = env.MarUtility.Ok()
Dim result As MarPointPlanar
If flag Then
env.DraftApp.PointHighlight(ptrtn)
result = ptrtn
Else
result = Nothing
End If
Return result
End Function

 

posted @   南胜NanSheng  阅读(104)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示