Inventor Publisher 2013 - Centre of Gravity - iLogic in Autodesk Inventor

Zen Admin
Zen Admin
  • Updated

by Luke Davenport

How do you add the centre of gravity into your Inventor Publisher documents? Mass properties and densities are not imported into Publisher, so to reference the C of G you have to produce a little work around. One method that works quite nicely (and doesn’t involve having to ask your Inventor user to tell you the X Y Z co-ordinates of the C of G) is to automatically run an iLogic rule that places a dummy part in the C of G location when you save you Inventor assembly. Here is the full iLogic code for this, and check out the video for more information:

 

Full iLogic code :

'Start of iLogic code

'Delete the C of G part if already present 

Try

doc = ThisDoc.Document

Dim compOcc As ComponentOccurrence = Component.InventorComponent("COFG PART:1")

compOcc.Delete()

Catch

End Try

'Add C Of G part

Try

pt = iProperties.CenterOfGravity

 

'Add custom iproperties with co-ordinates of C of G

iProperties.Value("Custom", "cx")=pt.X

 

iProperties.Value("Custom", "cy")=pt.Y

 

iProperties.Value("Custom", "cz")=pt.Z

 

'Correct units

COFGX=iProperties.Value("Custom", "cx")/10

COFGY=iProperties.Value("Custom", "cy")/10

COFGZ=iProperties.Value("Custom", "cz")/10

 

'set a reference to the assembly component definintion.

'this assumes an assembly document is open.

Dim oAsmCompDef As AssemblyComponentDefinition

oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition

 

'set a reference to the transient geometry object.

Dim oTG As TransientGeometry

oTG = ThisApplication.TransientGeometry

' Create a  placement matrix

Dim oMatrix As Matrix

oMatrix = oTG.CreateMatrix 

'set the matrix coordinates

oMatrix.SetTranslation(oTG.CreateVector(COFGX, COFGY, COFGZ))

 

' Add the C of G part in correct location

Dim oOcc As ComponentOccurrence

oOcc = oAsmCompDef.Occurrences.Add("C:\CAD WIP\COFG PART.ipt", oMatrix)

Catch

'Show message box if there are no components in assembly

MessageBox.Show("No C of G Available - Please insert components!", "Error")

End Try

End of iLogic code

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.