社区
下面的代码供参考(在零件环境使用):
Sub Main Dim drw As DrawingDocument = ThisDoc.Document Dim drwSheet As Sheet = drw.ActiveSheet Dim drwView As DrawingView = drwSheet.DrawingViews(1) Dim part As PartDocument = drwView.ReferencedFile.DocumentDescriptor.ReferencedDocument Dim pattern As CircularPatternFeature = part.ComponentDefinition.Features.CircularPatternFeatures(1) '手动选择曲线添加阵列中心线 'Dim centerEntity As DrawingCurveSegment = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kDrawingCurveSegmentFilter, "Select center entity") 'Dim center = drwSheet.CreateGeometryIntent(centerEntity.Parent, PointIntentEnum.kCenterPointIntent) '预先指定曲线的实体名称,自动添加阵列中心线 Dim sheet_图纸_1 = ThisDrawing.Sheets.ItemByName("图纸:1") Dim view_视图1 = sheet_图纸_1.DrawingViews.ItemByName("视图1") Dim center = view_视图1.GetIntent("面0") Dim centerEntities As ObjectCollection = ThisApplication.TransientObjects.CreateObjectCollection() Dim firstHoleCurve = drwView.DrawingCurves(pattern.ParentFeatures(1))(1) centerEntities.Add(drwSheet.CreateGeometryIntent(firstHoleCurve, PointIntentEnum.kCenterPointIntent)) Dim curves As DrawingCurvesEnumerator = drwView.DrawingCurves(pattern) For Each curve As DrawingCurve In curves centerEntities.Add(drwSheet.CreateGeometryIntent(curve, PointIntentEnum.kCenterPointIntent)) Next drwSheet.Centerlines.AddCenteredPattern(center, centerEntities, Closed :=True) End Sub
完成的效果: