373294296 发表于 2015-8-9 10:11:13

cass 获取界址线的每条边的属性怎么获取???

Function GetVertexs(Ent As AcadEntity) As Variant
   Dim n As Integer
   Dim oVertexs() As AcadObject
   Dim sName As String
   sName = UCase(Ent.ObjectName)
   If sName = "ACDBPOLYLINE" Or sName = "ACDB3DPOLYLINE" Then
         n = (UBound(Ent.Coordinates) + 1) / 3
   End If
   If n = 0 Then Exit Function
   ReDim oVertexs(n - 1)
   Dim oVlax As New VLAX
   lst = oVlax.GetLispList("(GetVers """ & Ent.Handle & """)")
   For i = 1 To n
         Set oVertexs(i - 1) = acadapp.ActiveDocument.HandleToObject(lst(n - i))
   Next i
   GetVertexs = oVertexs
End Function
Sub test4()
   ' Dim ZY_Xian1 As AcadPolyline
    Dim obj As AcadLWPolyline, pnt, oVers
    Dim xt, xd
    ThisDrawing.Utility.GetEntity obj, pnt
'oVers = GetVertexs(ZY_Xian1)
    oVers = GetVertexs(obj)
      For i = 0 To UBound(oVers)
            s = ""
            oVers(i).GetXData "", xt, xd
            
            For j = 0 To UBound(xd)
                s = s & vbCrLf & xd(j)
            Next j
            If Err Then
                Err.Clear
                MsgBox "空值"
            Else
                MsgBox s
            End If
      Next i
End Sub

newbuser 发表于 2015-8-9 16:59:02

哥们发个例图上来,看样子lisp就能解决。不必非得vba啊。

Real_King 发表于 2015-8-9 19:42:41

是获取权属线属性吧?

373294296 发表于 2015-8-9 21:23:25

http://bbs.mjtd.com/thread-64954-1-1.html
我是按照 这个帖子的例子, 但是老师出错???帮帮我把老师?

373294296 发表于 2015-8-9 21:29:13

不能沉下去, 怎么获取界址线属性呢???大神出来吧

373294296 发表于 2015-8-9 21:30:10

Real_King 发表于 2015-8-9 19:42 static/image/common/back.gif
是获取权属线属性吧?

是呀老师, 怎么获取界址线属性呢????求老师指教???

Real_King 发表于 2015-8-10 12:42:54

本帖最后由 Real_King 于 2015-8-10 12:46 编辑

373294296 发表于 2015-8-9 21:30 static/image/common/back.gif
是呀老师, 怎么获取界址线属性呢????求老师指教???你的帖子发错板块了,该到VBA那区
扩展属性,Xdata,可通过遍历获取,也可指定注册程序名获取,我用的是C#,跟你的VBA不同
瞄了一眼你的代码,没有发现GetXData,我以前用VBA做的时候记得是这个GetXData,
GetXData "SOUTH",太久都忘了,你在群里搜这个GetXData应该就有答案了
顺便建议下,早转其他语言。。。

373294296 发表于 2015-8-10 13:05:59

Real_King 发表于 2015-8-10 12:42 static/image/common/back.gif
你的帖子发错板块了,该到VBA那区
扩展属性,Xdata,可通过遍历获取,也可指定注册程序名获取,我用的是C#, ...

老师,我会用getxdata setxdata 获取, 和写入属性宗地属性我会, 但是每条边的界址线属性这个不会????好像是发错地方, vba 帖子没什么人,回答??? 是不是vba 没什么人用了。。。。。。。
重点是界址线属性,

Real_King 发表于 2015-8-10 13:11:17

本帖最后由 Real_King 于 2015-8-10 13:14 编辑

373294296 发表于 2015-8-10 13:05 static/image/common/back.gif
老师,我会用getxdata setxdata 获取, 和写入属性宗地属性我会, 但是每条边的界址线属性这个不会?? ...
你的思路错误,“边属性”哪个点到哪个点相关信息,你只有分别存储

“N,J1-J2 XXXX”
“S,J2-J3 XXXX”
VBA,现在的10版本CAD都不自带内嵌开发环境了,你应该知道这个意味着什么。
by the way,我们做的不会是同一个项目吧,我是SCYJDZKCJCHDD的

373294296 发表于 2015-8-11 10:54:33

是呀,老师, 单独用vba去做这个, 有点力不从心呀!但是老师我还是想把它做出来, !要不老师你帮我写一下vba 代码吧,有偿的行不行,我给你充1oo元话费,我先充,,,你再写也行,困扰我好多天的问题了!!! 只要获取到界址线的属性就行,
页: [1] 2
查看完整版本: cass 获取界址线的每条边的属性怎么获取???