Inventor Customization

## Inventor Customization

Contributor
Posts: 15
Registered: ‎12-25-2007
Message 1 of 6 (332 Views)

# Minimum distance

332 Views, 5 Replies
04-01-2008 11:37 PM
can anyone tell me the code to find minimum distance between two faces using "Minimum distance" method...

Sainath K
Contributor
Posts: 15
Registered: ‎12-25-2007
Message 2 of 6 (332 Views)

# Re: Minimum distance

04-02-2008 01:08 AM in reply to: nathans222
anyway.. i got it now...
but can anyone tell me how to change the button event for custom toolbars...

coz in addins we are not specifying which event to consider... by default its taking button.execute as click event
Distinguished Contributor
Posts: 125
Registered: ‎07-01-2012
Message 3 of 6 (266 Views)

# Re: Minimum distance

11-04-2012 03:49 PM in reply to: nathans222

Hello Nathan,

can you please paste code.. I need help in with minimum distance logic.

Is there anyway that we can get min distance in X,Y and Z directions??

Cheers.

Mechanical Engineer
Inventor Applications Engineer

--------------------------------------------------------------------------------------

If my solution seems to remedy your problem, please press the Accept Solution button, Some KUDOS -

-------------------------------------------------------------------------------------
Posts: 458
Registered: ‎08-14-2012
Message 4 of 6 (240 Views)

# Re: Minimum distance

11-12-2012 12:32 PM in reply to: ADNpati

Create two workpoints in your part "P1" and "P2".

Then the distance between these points can be calculated using MinimumDistance method.

Try this iLogic rule:

D = Measure.MinimumDistance("P1", "P2")

MsgBox(D)

In assembly you may use this method to get the minimal distance between two occurrences.

See Inventor API Help for MeasureTools object description.

Developer Technical Services
Autodesk Developer Network

Distinguished Contributor
Posts: 125
Registered: ‎07-01-2012
Message 5 of 6 (234 Views)

# Re: Minimum distance

11-12-2012 02:07 PM in reply to: Vladimir.Ananyev

Creation of pointts will disturb the geometry and structure of the modeled part.

I am looking to get minimum distance from face to workpoint.

please find the attachment, can see what i am talking about.

Much appriciated for solution.

Thank you.

Mechanical Engineer
Inventor Applications Engineer

--------------------------------------------------------------------------------------

If my solution seems to remedy your problem, please press the Accept Solution button, Some KUDOS -

-------------------------------------------------------------------------------------
Posts: 458
Registered: ‎08-14-2012
Message 6 of 6 (215 Views)

# Re: Minimum distance

11-13-2012 08:28 AM in reply to: ADNpati

In my previous post I used workpoints only as one possible variant of measured objects.

MeasureTools.GetMinimumDistance method works with many entity types:

Part Face, Edge, Vertex, work features, 2d and 3d sketch entities Assembly FaceProxy, EdgeProxy, VertexProxy, work features and their proxies, 2d and 3d sketch entities and their proxies, ComponentOccurrences and their proxies Drawing DrawingViewCurve, GeometryIntent, 2d sketch entities.

See MeasureTools object detailed description in Inventor API Help.

You need to get the reference to the desired Face to be able to measure the distance to the workpoint.

Which method do you use?

In the following VBA sample I get this reference from the first element in the active assembly  SelectSet object.

The name of component (BOX) and the name of workpoint (P1) are hardcoded.

Change them to appropriate values.

Important note:  in assembly context SelectSet always returns proxy objects.

```Private Sub MinDistance_1()

Dim oAssyDoc As AssemblyDocument
Set oAssyDoc = ThisApplication.ActiveDocument

Dim oAssyDef As AssemblyComponentDefinition
Set oAssyDef = oAssyDoc.ComponentDefinition

'1) get the reference to the workpoint "P1"
'   in the component "BOX"
Dim oOcc As ComponentOccurrence
Set oOcc = oAssyDef.Occurrences.ItemByName("BOX")

Dim oDef As PartComponentDefinition
Set oDef = oOcc.Definition

Dim oWP As WorkPoint
Set oWP = oDef.WorkPoints.Item("P1")

'create work point proxy object
Dim oWPproxy As WorkPointProxy
Call oOcc.CreateGeometryProxy(oWP, oWPproxy)

'2) get the reference to the selected face

Dim oSSet As SelectSet
Set oSSet = oAssyDoc.SelectSet

If oSSet.Count = 0 Then
MsgBox "Select some face"
Exit Sub
End If

Dim oObj As Object
Set oObj = oSSet.Item(1)

If Not (TypeOf oObj Is FaceProxy) Then
MsgBox "Select some face"
Exit Sub
End If

Dim oFaceProxy As FaceProxy
Set oFaceProxy = oObj

'3) Measurements
Dim oMeasureTools As MeasureTools
Set oMeasureTools = ThisApplication.MeasureTools

Dim D As Double ' distance (cm)
D = oMeasureTools.GetMinimumDistance(oFaceProxy, oWPproxy)

MsgBox ("D, cm = " & FormatNumber(D, 3))

End Sub 'MinDistance_1```

Developer Technical Services
Autodesk Developer Network

### You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.

### Need installation help?

Start with some of our most frequented solutions to get help installing your software.

### Maintenance Subscription Resources

Upgrading to a 2015 product? Make sure to check these out 1st!

### Inventor Exchange Apps

Created by the community for the community, Autodesk Exchange Apps for Autodesk Inventor helps you achieve greater speed, accuracy, and automation from concept to manufacturing.