社区
Inventor 产品技术应用讨论区
欢迎访问欧特克Inventor论坛!分享知识,发帖提问,浏览Inventor热帖
取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

局部视图进行中心标注

1 条回复1
已解决
回复
1 条消息(共 2 条)
ss13953642009
78 次查看, 1 条回复

局部视图进行中心标注

Inventor 2021 API 如何用代码对局部视图中选定的曲线进行中心标记,或者对该局部视图进行自动中心线标记

am8_20241219140557136.png

1 条回复1
2 条消息(共 2 条)

下面的代码供参考(在零件环境使用):

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

完成的效果:

chenj_0-1735016276731.png

 

找不到想要的内容?向社区提问或分享您的知识。

到论坛发帖  

”