乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 79|回复: 4

[求助]关于给多位线附加属性和读取属性

[复制链接]

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2007-6-7 10:34:00 | 显示全部楼层 |阅读模式
各位高手:
小弟想用VBA代码实现如下过程:
有3条多位线pline1,pline2,pline3代表3根电缆
给其附加属性:pline1    名称:电力电缆 ;截面:200;型号:XY
                         pline2    名称:信号电缆 ;截面:100;型号:XZ
                         pline3    名称:通信电缆 ;截面:500;型号:YZ
然后 有一根line的直线,判断如果line与以上的三条多位线有交点,则画出以交点为圆心半径为电缆截面的圆。
PS:属性中的名称、截面和型号都是从TextBox控件中输入的。
十分感谢!!!
回复

使用道具 举报

20

主题

115

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2007-6-8 09:14:00 | 显示全部楼层
1)添加属性可通过 pline1.SetXData(XDataType, XData)来实现
2)求交点
  首先,你可通过line直线做为选择集的选择方式,组成与line相交的电缆的选择集
  其次,遍历选择集.用Line.IntersectWith(IntersectObject, ExtendOption) 来分别求取每个交点,并用GetXData来读取每条电缆相应的属性信息,并在指定位置画出截面图
具体的可以参照帮助文件
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2007-6-8 11:51:00 | 显示全部楼层
十分感谢zhuxuhong兄的指点
另请问一下附加和获取XDATA是不是这样(以pline1为例)
附加属性
Dim pline1 As AcadLWPolyline
Dim DataType(0 To 3) As Integer
Dim Data(0 To 3) As Variant
TextBox1.text = "电力电缆"
TextBox2.text = "200"
TextBox3.text = "XY"
Set pline1 = ThisDrawing.ModelSpace.AddLightWeightPolyline(arr)
DataType(0) = 1001: Data(0) = TextBox1.text
DataType(1) = 1040: Data(1) = TextBox2.Value
DataType(2) = 1000: Data(2) = TextBox3.text
pline1.SetXData DataType, Data
获取属性
(以下代码:遍历图层“电缆”中所有多位线,如果它与pt1、pt2所围成的矩形有交点,则获取它的截面属性。)
Dim plln As AcadLWPolyline
Dim asss As AcadSelectionSet
Dim ftype1(0) As Integer, fdata1(0) As Variant
Set asss = ThisDrawing.SelectionSets.Add("asss")
If Err Then Set asss = ThisDrawing.SelectionSets.Add("asss")
asss.Clear
ftype1(0) = 8: fdata1(0) = "电缆"
asss.Select acSelectionSetCrossing, pt1, fpt2, ftype1, fdata1
For Each plln In asss
With plln
plln.GetXData "", DataType(1), Data(1)
Dim cc1 As AcadCircle
Set cc1 = ThisDrawing.ModelSpace.AddCircle(point, Data(1))
End With
Next plln
asss.Delete
小弟刚入手VBA,不知道以上代码有什么问题,望各位高手多多指教。感谢!
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2007-6-26 20:31:00 | 显示全部楼层
各位老大帮帮忙啊
回复

使用道具 举报

25

主题

219

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
319
发表于 2007-6-27 08:22:00 | 显示全部楼层
生成后,用CAD的扩展命令查询下不就知道了
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 19:10 , Processed in 1.001864 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表