[已解决]wipeout.SetFrom用法,请教
不知道为什么wipeout.SetFrom(Point2DCollection,Vector3D)画出来的wipeout总是不对,我觉得是Vector3D这个参数设置的问题,我试着(0,0,0)、(1,1,1)都不行,怎么设置啊?请高手赐教! Vector3d.ZAxis? Vector3d.ZAxis,也不行! 以前写的代码,另外,Vector3D这个参数设置为Vector3d.ZAxis没问题,但只能在2010版本用SetFrompublic static void tt3()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Editor ed = doc.Editor;
Database db = doc.Database;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
Wipeout w = new Wipeout();
w.Orientation = new CoordinateSystem3d(new Point3d(100, 100, 0), Vector3d.XAxis, Vector3d.YAxis);
List<Point3d> pnts = new List<Point3d>();
pnts.Add(new Point3d(100, 100, 0));
pnts.Add(new Point3d(800, 100, 0));
pnts.Add(new Point3d(800, 600, 0));
pnts.Add(new Point3d(100, 600, 0));
pnts.Add(new Point3d(100, 100, 0));
Matrix3d mat = w.PixelToModelTransform.Inverse();
Point2dCollection vers = new Point2dCollection();
for (int i = 0; i < pnts.Count; i++)
{
pnts = pnts.TransformBy(mat);
vers.Add(pnts.Convert2d(new Plane()));
}
w.SetClipBoundary(ClipBoundaryType.Poly, vers);
BlockTableRecord btr = (BlockTableRecord)db.CurrentSpaceId.GetObject(OpenMode.ForWrite);
btr.AppendEntity(w);
tr.AddNewlyCreatedDBObject(w, true);
tr.Commit();
}
} <p>谢谢!着急就用_WipeOut代替了!</p><p>就是下句没用,所以不对!</p><p>Matrix3d mat = w.PixelToModelTransform.Inverse();</p><p>顺便提一下,做完消隐,用DrawOrderTable.<strong>MoveToTop</strong><font color="#000000">把消隐的文字置上!</font></p><p><font color="#000000">希望对同行朋友有帮助!也是对负责任的版主的支持!</font></p><p><font color="#000000"></font></p><p></p> 太好了,学习,顶一下
雪山飞狐_lzh 发表于 2009-11-1 17:22 static/image/common/back.gif
以前写的代码,另外,Vector3D这个参数设置为Vector3d.ZAxis没问题,但只能在2010版本用SetFrom
高手很厉害啊,解决了我遇到的难题!另外,请问大侠有没有搜索遮挡面的算法啊
页:
[1]