[英]Is it possible to create a new Block from a VectorView of a 3D model?
假设我有一个从步骤文件导入的 3D model。 我有
Design design1
design1 以使用 3D 进口 model。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.