堆叠矩形
我正在尝试在选定的折线内的某些距离之间堆叠矩形,我已经弄清楚了东西,但不确定如何同时解决南北问题。任何帮助都将不胜感激,ObjectId recTangleband=CreateRectanger(pline.GeometricExtents.MinPoint,pline.GeometricExtents.MaxPoint);。。
双重东西方主义=Math.Abs(pline.GeometricExtents.MinPoint.X-pline.GeometricExtents.MaxPoint.X);。
双南北向=Math.Abs(pline.GeometricExtents.MinPoint.Y-pline.GeometricExtents.MaxPoint.Y);。
。
双topleftx=pline.GeometricExtents.MinPoint.X;。
双toplefty=pline.GeometricExtents.MaxPoint.Y;。
Point3d topleft=new Point3d(topleftx, toplefty,0);。
。
双倍距离=30;。
双校验Horz=0;。
。
同时(check horz。
{。
矩形边界=创建矩形(新的Point3d(topleft. X+check horz, topleft. Y,0),新的Point3d(topleft. X+check horz+距离, topleft. Y-距离,0));。
check horz=check horz+距离;。
}谢谢!。
**** Hidden Message ***** 嗨,这里有个办法: var extents = pline。几何范围;。
创建矩形(范围,最小点,范围。MaxPoint);。
。
int east westnum =(int)((extents,X范围,min point . X)/30.0);。
int northsouthNum = (int)((范围,最大点,Y -范围。min point . Y)/30.0);。
。
vector 3d horizDisp = new vector 3d(30.0,0.0,0.0);。
vector 3d vert disp = new vector 3d(0.0,30.0,0.0);。
。
Point3d p1 =新的Point3d(范围,X,范围。MaxPoint.Y - 30.0,0.0);。
point 3d p2 = P1+horiz disp+vert disp;。
。
for(int I = 0;i 。
{。
Point3d ll = p1。
Point3d ur = p2。
for(int j = 0;j 。
{。
CreateRectangle(ll,ur);。
ll+= horiz disp;。
ur+= horizDisp;。
}。
P1-= vert disp;。
p2-= vert disp;。
}。
谢谢你贾尔斯,永远感谢你
页:
[1]