夜孤城 发表于 2006-4-21 19:16:00

选择集 及标注公差的两个求助

<P>目标:选择一个标注,然后弹出窗口,添加公差等。</P>
<P>Public pickedobj As AcadEntity</P>
<P>&nbsp;If Not IsNull(ThisDrawing.SelectionSets.Item("sss")) Then<BR>&nbsp;&nbsp;&nbsp; Set sset = ThisDrawing.SelectionSets.Item("sss")<BR>&nbsp;&nbsp;&nbsp; sset.Delete<BR>&nbsp;End If<BR>&nbsp;<BR>Set sset = ThisDrawing.SelectionSets.Add("sss")<BR>sset.SelectOnScreen</P>
<P>If sset.Count &gt; 1 Then<BR>MsgBox "老大,您选的太多了!"<BR>UserForm1.Hide<BR>Exit Sub<BR>End If</P>
<P>For Each pickedobj In sset&nbsp;&nbsp;&nbsp; //第一个问题:选择里就一个,我不想循环就得到,咋弄涅<BR>txtBase.Text = pickedobj.Measurement<BR>Next</P>
<P>---------------------------------</P>
<P>For Each pickedobj In sset<BR>pickedobj.TextOverride = comBefore.Text &amp; Left(txtBase.Text, 4)</P>
<P>If txtDown.Text &lt;&gt; "" Or txtUp.Text &lt;&gt; "" Then<BR>pickedobj.ToleranceDisplay = acTolDeviation<BR>pickedobj.TolerancePrecision = acDimPrecisionFour<BR>pickedobj.ToleranceHeightScale = 1<BR>pickedobj.ToleranceLowerLimit = txtDown.Text<BR>pickedobj.ToleranceUpperLimit = txtUp.Text</P>
<P>End If<BR>pickedobj.Update<BR>Next</P>
<P>第二个问题:选择集里就是标注的话,pickedobj可以代表acadDimAligned吗?用它属性TextOverride可以显示出,但为啥标注后面没显示公差。</P>
<P>是不是要重新定义个dimAligned,让它等于pickedObj?用哪个方法?</P>
<P>试着弄了一天,没出来,大虾指点指点。</P>

夜孤城 发表于 2006-4-22 20:11:00

版主,大虾帮帮忙~

mccad 发表于 2006-4-22 20:27:00

1.直接用sset(0)就可以。<BR>2.你已经用TextOverride来覆盖默认标注了,所以公差就不能显示。

夜孤城 发表于 2006-4-27 22:03:00

<P>好几天没来咯,谢谢<A name=8913><FONT color=#990000><B>mccad</B></FONT></A>,那天试了试,又生出第三个问题:改标注尺寸就不能加公差,加公差吧就不能改标注尺寸。</P>
<P>能不能在一个对话框里同时改尺寸和公差呢?</P>

xujian8498 发表于 2006-5-13 11:43:00

两位高手我的曲线或曲面根据高度颜色渐变问题还没解决呢,快支招啊
页: [1]
查看完整版本: 选择集 及标注公差的两个求助