I'm attempting to use VBA to put center marks on each hole in my drawing.
So far I have the following code:
Dim oIntent As GeometryIntent Dim oCenterOfPart As Centermark 'Add center marks to base view For Each oCurve In oBaseView.DrawingCurves ' <- need to identify Hole Features If Not oCurve.CenterPoint Is Nothing Then If oCurve.CurveType = kCircleCurve Then 'CurveTypeEnum Set oIntent = oSheet.CreateGeometryIntent(oCurve) Set oCenterOfPart = oSheet.Centermarks.Add(oIntent, True, True) End If End If Next oCurve 'Add center marks to top view For Each oCurve In oTopView.DrawingCurves ' <- need to identify Hole Features If Not oCurve.CenterPoint Is Nothing Then If oCurve.CurveType = kCircleCurve Then 'CurveTypeEnum Set oIntent = oSheet.CreateGeometryIntent(oCurve) Set oCenterOfPart = oSheet.Centermarks.Add(oIntent, True, True) End If End If Next oCurve 'Add center marks to right view For Each oCurve In oRightView.DrawingCurves ' <- need to identify Hole Features If Not oCurve.CenterPoint Is Nothing Then If oCurve.CurveType = kCircleCurve Then 'CurveTypeEnum Set oIntent = oSheet.CreateGeometryIntent(oCurve) Set oCenterOfPart = oSheet.Centermarks.Add(oIntent, True, True) End If End If Next oCurve
oBaseView is the DrawingView object representing the base view the code just placed. I also used VBA to place the projected views oTopView and oRightView. I want to add center marks to each hole when viewed from the end (as circles) and add centerlines when viewed from the top or side (as hidden lines).
I will be iterating through several models representing various handhold styles. The feet can be in many orientations, 99% of them are paralel to one of the origin planes (XY,YZ, or XZ).
This is what my code generates:
(The centermarks that are selected are the ones I don't want the code to generate)
This is what I WANT the code to generate:
1) How do I distinguish whether a circle curve originated because of a hole or because of another cilindrical feature?
2) How to I identify the correspoding hidden lines in the other views so I can add a center line?
I don't know that answer to your question, however these sort of questions usually get better answers in the customization forum.