给你,稍微测试一下,换上你的西装,
我帮不了你了
[code]选项显式“~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1)作为变量Dim dxfcode的整数Dim dataValue(0到1),dxfdata Dim selps As Variant On Error GoTo Err\u Control gpCode(0)=0:数据值(0)=“LWPOLYLINE”gpCode(1)=70:数据值(1)=1 dxfcode=gpCode:dxfdata=dataValue setName=“$PolygonSelect$”与此绘图集setColl=。如果setObj,则setColl中每个setObj的选择集。名称=设置名称。选择集。项(集合名)。如果下一个setObj=,则删除End的Exit。选择集。Add(setName)End With Dim lp As Variant“使用提示lp=ThisDrawing返回点”。公用事业GetPoint(,“输入左下角点:”)Dim up As Variant“Dim basePnt(0到2)As Double”basePnt(0)=2#:basePnt(1)=2#:basePnt(2)=0#'提示用户拾取第二个点并返回点up=ThisDrawing。公用事业GetCorner(lp,“输入其他角点:”)Dim ptArr(0到11)作为双ptArr(0)=lp(0):ptArr(1)=lp(1):ptArr(2)=0 ptArr(3)=向上(0):ptArr(4)=lp(1):ptArr(5)=0 ptArr(6)=向上(0):ptArr(7)=向上(1):ptArr(=0 ptArr(9)=lp(0):ptArr(10)=向上(1):ptArr(11)=0 selMod=acSelectionSetCrossingPolygon setObj。选择ByPolygon selMod、ptArr、dxfcode、dxfdata setObj。突出显示True MsgBox“Selected:&CStr(setObj.Count)&“blockds”&vbCr&“Do your rest work here”Dim pt1(0到2)作为双Dim pt2(0到2)作为双Dim acumcoll作为新集合Dim num作为整数num=1,用于setObj Set oPline=oEnt pt1(0)=oPline中的每个oEnt。坐标(0)(0):pt1(1)=oPline。坐标(0)(1):pt1(2)=0 pt2(0)=oPline。坐标(2)(0):pt2(1)=oPline。坐标(2)(1):pt2(2)=0 Dim tp(2)作为双tp(0)=(pt1(0)+pt2(0))/2:tp(1)=(pt1(1)+pt2(1))/2:tp(2)=0 accumColl。添加(tp)num=num+1下一个'--------------------------------------------------''Dim m As Long,k As Long,n As Long m=accumColl。Count-1 k=2 ReDim sortedArray(m,k)n=0 Dim item For Each item In accumColl sortedArray(n,0)=item(0)sortedArray(n,1)=item(1)sortedArray(n,2)=item(2)n=n+1 Next“”----------------------------------------------------“”注意:将fuzz变量(15.0)放入套装,将最小多边形SortDarray=SortPointsLikeTable(SortDarray,10#)高度的一半表示为“----------------------------------------------------------------对于n=lBond(SortDarray,1)到uBond(SortDarray,1)暗淡文本pt(2),表示为DoubletextPt(0)=SortDarray(n,0):textPt(1)=SortDarray(n,1):textPt 2)=SortDarray(n,2)设置为文本=此图纸。模型空间。AddText(CStr(n+1),textPt,15#)oText。对齐=acAlignmentMiddleCenteroText。TextAlignmentPoint=textPtoText。插入点=oText。TextAlignmentPointNext Err\u控件:If Err。数字0,然后MsgBox Err。如果((sourceArr(j-1,0)-sourceArr(j,0)>fuzz)或_((sourceArr(j-1,0)>fuzz),则为i=UBound(sourceArr)到LBound(sourceArr)的步骤-1,对于j=LBound(sourceArr)+1到i,如果((sourceArr(j-1,0)-sourceArr(j,0)>fuzz)或_((sourceArr(j-1,0)-sourceArr(j,0)