Inventor General Discussion

Inventor General Discussion

Reply
Member
5 Posts
0 Kudos
Registered: ‎09-16-2012
Post 1 of 3

VBA: Distinguish hole features from other circles in drawing, add centermarks

604 Views, 2 Replies
09-16-2012 08:28 AM

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:

Capture.PNG

 (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:

Capture2.PNG

 

 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?

*Expert Elite*
2,546 Posts
889 Kudos
Registered: ‎09-13-2011
Post 2 of 3

Re: VBA: Distinguish hole features from other circles in drawing, add centermark

09-17-2012 05:20 AM in reply to: CragMonkey

I don't know that answer to your question, however these sort of questions usually get better answers in the customization forum.

Mike (not Matt) Rattray

Member
5 Posts
0 Kudos
Registered: ‎09-16-2012
Post 3 of 3

Re: VBA: Distinguish hole features from other circles in drawing, add centermark

09-17-2012 05:46 AM in reply to: mrattray
Post to the Community

Have questions about Autodesk products? Ask the community.

New Post