明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3760|回复: 15

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

[复制链接]
发表于 2015-8-9 10:11:13 | 显示全部楼层 |阅读模式
  1. Function GetVertexs(Ent As AcadEntity) As Variant
  2.      Dim n As Integer
  3.      Dim oVertexs() As AcadObject
  4.      Dim sName As String
  5.      sName = UCase(Ent.ObjectName)
  6.      If sName = "ACDBPOLYLINE" Or sName = "ACDB3DPOLYLINE" Then
  7.          n = (UBound(Ent.Coordinates) + 1) / 3
  8.      End If
  9.      If n = 0 Then Exit Function
  10.      ReDim oVertexs(n - 1)
  11.      Dim oVlax As New VLAX
  12.      lst = oVlax.GetLispList("(GetVers """ & Ent.Handle & """)")
  13.      For i = 1 To n
  14.          Set oVertexs(i - 1) = acadapp.ActiveDocument.HandleToObject(lst(n - i))
  15.      Next i
  16.      GetVertexs = oVertexs
  17. End Function
  18. Sub test4()
  19.    ' Dim ZY_Xian1 As AcadPolyline
  20.     Dim obj As AcadLWPolyline, pnt, oVers
  21.     Dim xt, xd
  22.     ThisDrawing.Utility.GetEntity obj, pnt
  23.   '  oVers = GetVertexs(ZY_Xian1)
  24.     oVers = GetVertexs(obj)
  25.         For i = 0 To UBound(oVers)
  26.             s = ""
  27.             oVers(i).GetXData "", xt, xd
  28.             
  29.             For j = 0 To UBound(xd)
  30.                 s = s & vbCrLf & xd(j)
  31.             Next j
  32.             If Err Then
  33.                 Err.Clear
  34.                 MsgBox "空值"
  35.             Else
  36.                 MsgBox s
  37.             End If
  38.         Next i
  39. End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2015-8-9 16:59:02 | 显示全部楼层
哥们发个例图上来,看样子lisp就能解决。不必非得vba啊。
发表于 2015-8-9 19:42:41 | 显示全部楼层
是获取权属线属性吧?
 楼主| 发表于 2015-8-9 21:23:25 | 显示全部楼层
http://bbs.mjtd.com/thread-64954-1-1.html
我是按照 这个帖子的例子, 但是老师出错???帮帮我把老师?
 楼主| 发表于 2015-8-9 21:29:13 | 显示全部楼层
不能沉下去, 怎么获取界址线属性呢???大神出来吧
 楼主| 发表于 2015-8-9 21:30:10 | 显示全部楼层
Real_King 发表于 2015-8-9 19:42
是获取权属线属性吧?

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2015-8-10 13:05:59 | 显示全部楼层
Real_King 发表于 2015-8-10 12:42
你的帖子发错板块了,该到VBA那区
扩展属性,Xdata,可通过遍历获取,也可指定注册程序名获取,我用的是C#, ...

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2015-8-10 13:11:17 | 显示全部楼层
本帖最后由 Real_King 于 2015-8-10 13:14 编辑
373294296 发表于 2015-8-10 13:05
老师,我会用getxdata setxdata 获取, 和写入属性  宗地属性我会, 但是每条边的界址线属性这个不会?? ...

你的思路错误,“边属性”哪个点到哪个点相关信息,你只有分别存储

“N,J1-J2 XXXX”
“S,J2-J3 XXXX”
VBA,现在的10版本CAD都不自带内嵌开发环境了,你应该知道这个意味着什么。
by the way,我们做的不会是同一个项目吧,我是SCYJDZKCJCHDD的
 楼主| 发表于 2015-8-11 10:54:33 | 显示全部楼层
是呀,  老师, 单独用vba  去做这个, 有点力不从心呀!  但是老师我还是想把它做出来, !要不老师你帮我写一下vba 代码吧,有偿的行不行,我给你充1oo元话费,我先充,,,你再写也行,困扰我好多天的问题了!!! 只要获取到界址线的属性就行,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 11:06 , Processed in 0.171143 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表