efan版主!
在AUTOCAD中的一个三维图形,怎样定义一个范围,使鼠标点到这个范围内都只显示这个图形 的某一个属性!请版主帮忙!!!点击时获取鼠标的位置,然后根据其它信息来判断。
用Utility对象的GetPoint获取点的坐标,然后判断这点与三维图形的关系即处于哪一个范围之内,对应的显示自己的信息。当然,自己要知道三维图形的形状是什么样的,而且这个范围是如何划分,信息要如何显示。
efan版主!帮忙!!!
如果三维图形是一个阶梯轴,若鼠标点在阶梯轴X坐标为356--678的范围内,就高亮显示第一轴段,若点到的X坐标在678——890之间,就高亮显示第二轴段!efan前辈麻烦您给个示例吧!不胜感激!!!!!!11显示各段高亮状态时各段应该分别是一个实体。
每一段的阶梯轴要做成一个实体,因为高亮(Highlight)是对实体整体而言的。我没做过这方面的,不然你将图纸上传一个吧,看看有没有什么好的处理方法。
版主
我是初学者,您能否告诉我你的联系方式,我好具体向你请教!efan 版主,图片到了
efan 版主,图片到了
请您尽快帮我好吗?图片!
示例程序如下
Sub Test()Dim Pt As Variant
Pt = ThisDrawing.Utility.GetPoint(, "指定点: ")
Dim EntObj As AcadEntity
Dim SolidObj1 As Acad3DSolid
Dim SolidObj2 As Acad3DSolid
For Each EntObj In ThisDrawing.ModelSpace
If TypeOf EntObj Is Acad3DSolid Then
If SolidObj1 Is Nothing Then
Set SolidObj1 = EntObj
Else
Set SolidObj2 = EntObj
End If
End If
Next
Debug.Print Pt(0)
If Pt(0) > 356 And Pt(0) < 678 Then
SolidObj1.Highlight True
ElseIf Pt(0) > 678 And Pt(0) < 890 Then
SolidObj2.Highlight True
End If
End Sub
注意:上面的第一段阶梯轴是先创建的三维实体,具体的可以根据实际情况自己变更。在这个视图中,选择点的X坐标在356--678时并不在第一段阶梯轴上,可能跟坐标系有关系。
还想请教!
版主,别笑话我!您上面用Sub Test( ),为什么要这样写呢?如果我要编一个程序,我应该怎样写过程框架名呢?请再指教!!不胜感激!!!!!!!!
页:
[1]
2