繁体   English   中英

是否可以从 3D model 的 VectorView 创建新块?

[英]Is it possible to create a new Block from a VectorView of a 3D model?

假设我有一个从步骤文件导入的 3D model。 我有

  • Design design1 design1 以使用 3D 进口 model。
  • 在我创建 2D VectorView topView的地方Drawing drawing
  • Design design2 ,我在我的实际设计中工作

我想从此topView创建一个 Block 以在Design design2中使用,如果我在 design1 中更改design1和/或在drawing上创建另一个VectorView不会对design2产生任何影响。 当前的解决方法是将topView保存为 2D CAD,然后将其导入回来。

我的代码读取 3D 步骤文件并将其放置到design1

var rf = new ReadSTEP(@"C:\\Sample3DModel.stp");

rf.DoWork();

rf.AddToScene(design1)

我创建矢量视图viewType.Top的代码

            drawing.Sheets.Clear();

            //Empty sheet
            var sheet1 = new Sheet(linearUnitsType.Millimeters, 100, 100, "Sheet 1");

            var topView = new VectorView(80, 80, viewType.Top, sheet1.Scale, "Top");

            topView.HiddenSegments = false;

            topView.Selectable = false;

            sheet1.Entities.Add(topView);

            drawing.Sheets.Add(sheet1);

            drawing.Rebuild(design1);

            drawing.ActiveSheet = sheet1;

            drawing.Invalidate();

我试图从 topView 收集实体,但错误var entities = topView.GetEntities(new BlockKeyedCollection()); error: 'A Block with name Top does not exist.' var entities = topView.GetEntities(new BlockKeyedCollection()); error: 'A Block with name Top does not exist.'

请尝试design1.CopyTo(design2) ,您将获得您在design1控件上的精确 - 深度副本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM