902 发表于 2015-5-2 09:14:08

在对象周围创建正交命名视图

我的任务是围绕对象自动创建命名的正交命名视图。到目前为止,我已经成功地在对象周围创建了一个“三维框”,它实际上只是6个矩形3d折线。然后,我通过提供折线点的视图2来创建命名视图。左下点和右上点。(这两个点都在当前ucs中定义)到目前为止,唯一正常工作的视图是顶视图,这是有意义的,因为我没有做任何ucs转换。我的问题是,在我创建任何其他视图之前,我是否需要将我的ucs更改为该视图方向,然后将定义该视图的点转换为当前ucs?我对如何以编程方式创建垂直于当前空间的视图有点困惑。
我正在关注在这个位置http://adndevblog.typepad.com/autocad/2013/03/settingcreating-a-named-view-with-associated-ucs.html找到的文章,但我发现他们没有很好地解释他们在做什么或为什么他们在做某事。他们只是向你扔代码。
**** Hidden Message *****

无敌水世界 发表于 2015-5-2 10:40:25

我应该问鸭子的,我所需要做的就是将我传递给CreateView方法的点转换为视图方向的普通ucs,类似于这样。var rightPolyline=CreateRecTangle3D(FrontRightBottom, backRightBottom, backRightTop, FrontRightTop,事务,数据库);。
var rightView=CreateView(rightPolyline.GetPointAtParameter(0),TransformBy(Matrix3d.WorldToPlane(rightDirection)),rightPolyline.GetPointAtParameter(2)。TransformBy(Matrix3d.WorldToPlane(rightDirection))); 。
rightView.ViewDirection=rightDirection;。
rightView.Name=string.Format("{0}-右",entity.Handle);。
rightView.SetUcsToWorld (); 。
rightView.SetViewDirection(OrthographicView.RightView);。
viewTable.Add(rightView);。
transaction.AddNewlyCreatedDBObject(rightView,true);。
页: [1]
查看完整版本: 在对象周围创建正交命名视图