明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1646|回复: 5

我看到有的二次开发的程序可以将两个物体帮到一起,这是怎么实现的啊??

[复制链接]
发表于 2004-1-29 14:57:00 | 显示全部楼层 |阅读模式
我所知道的CAD线型是一种有规律的符号线,线上的符号不能准确的落到这条线的VERTEX上。我看到有一种方法是将符号和母线组合起来,无论是选择符号还是选择母线都能将这两个(或者更多)要素一同选中,选中的要素在特征栏里看是一组要素,而且每个要素都有自己的特征信息,请问各位高手这种方法是怎样实现的啊??


除了这个方法外还有什么方法可以将线型里的符号定位到VERTEX上?



再此谢过!!
 楼主| 发表于 2004-1-30 11:29:00 | 显示全部楼层
没有人知道方法吗?
发表于 2004-1-30 12:04:00 | 显示全部楼层
这是组合的功能,在VBA中可以试试sendcommand的方法(-group).
 楼主| 发表于 2004-2-1 19:00:00 | 显示全部楼层
好的,让我试一试!
发表于 2004-2-2 11:37:00 | 显示全部楼层
把符号定义成属性放到顶点上再生成块就可以了。
发表于 2004-7-28 17:27:00 | 显示全部楼层
给个vba的函数,用了匿名group,好用 '将选定的对象组合
Sub ag()
On Error Resume Next
Dim SelObjects As AcadSelectionSet
Set SelObjects = GetSelSet
Dim UnNameGroup As AcadGroup
'On Error Resume Next
Set UnNameGroup = ThisDrawing.Groups.Add("*")
ReDim appendObjs(0 To SelObjects.count - 1) As AcadEntity
Dim i As Integer
For i = 0 To SelObjects.count - 1
Set appendObjs(i) = SelObjects.Item(i)
Next

UnNameGroup.AppendItems appendObjs
SelObjects.Delete
End Sub '将选定的组合分解开
'由于不能通过选定的对象来直接找到其组合名称,只能通过循环比较对象ID的方法
'来解决这个问题,运行时可能会慢点,但对象不多的情况下应该没问题
Sub Dg() Dim SelGroup As AcadGroup
Dim SelObjects As AcadSelectionSet
Set SelObjects = GetSelSet
Dim ObjInSelSet As AcadObject
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim ObjInGroup As AcadObject
On Error Resume Next
For i = 0 To SelObjects.count - 1
Set ObjInSelSet = SelObjects.Item(i)
For j = 0 To ThisDrawing.Groups.count - 1
For k = 0 To ThisDrawing.Groups.Item(j).count - 1
Set ObjInGroup = ThisDrawing.Groups.Item(j).Item(k)
If ObjInGroup.ObjectID = ObjInSelSet.ObjectID Then
ThisDrawing.Groups.Item(j).Delete
Exit For
End If
Next
Next
Next
SelObjects.Delete
End Sub '对象选择函数
Function GetSelSet() As AcadSelectionSet
Dim ss As AcadSelectionSet
Set ss = ThisDrawing.PickfirstSelectionSet
On Error Resume Next
If ss.count = 0 Then
Dim ssName As String
ssName = "str1SSet"
On Error Resume Next
Set ss = ThisDrawing.SelectionSets(ssName)
If Err Then Set ss = ThisDrawing.SelectionSets.Add(ssName)
ss.Clear
ss.SelectOnScreen
End If
Set GetSelSet = ss
End Function
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 02:40 , Processed in 0.162465 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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