星期八 发表于 2009-10-30 10:32:00

[已解决]wipeout.SetFrom用法,请教

不知道为什么wipeout.SetFrom(Point2DCollection,Vector3D)画出来的wipeout总是不对,我觉得是Vector3D这个参数设置的问题,我试着(0,0,0)、(1,1,1)都不行,怎么设置啊?请高手赐教!

雪山飞狐_lzh 发表于 2009-10-30 19:34:00

Vector3d.ZAxis?

星期八 发表于 2009-11-1 16:54:00

Vector3d.ZAxis,也不行!

雪山飞狐_lzh 发表于 2009-11-1 17:22:00

以前写的代码,另外,Vector3D这个参数设置为Vector3d.ZAxis没问题,但只能在2010版本用SetFrom
      
      public 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();
            }
      }

星期八 发表于 2009-11-16 20:56:00

<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>

mycad 发表于 2011-3-9 16:19:31

太好了,学习,顶一下

ajiuazhuo 发表于 2012-9-17 11:09:42

雪山飞狐_lzh 发表于 2009-11-1 17:22 static/image/common/back.gif
以前写的代码,另外,Vector3D这个参数设置为Vector3d.ZAxis没问题,但只能在2010版本用SetFrom

高手很厉害啊,解决了我遇到的难题!另外,请问大侠有没有搜索遮挡面的算法啊
页: [1]
查看完整版本: [已解决]wipeout.SetFrom用法,请教