18 de fevereiro de 2008

Macros - Agilidade na hora de trabalho

Bem pessoal, continuo na corrida... mas sobrou tempo no carnaval(isso existe?)...
Estou trabalhando em Macros para o Inventor, como alguns de vocês já sabem.
Hoje vou postar um exemplo bem simples, mas que é muito util.

"Criar Workpoint do Centro de Gravidade"

Para que o usuario não necessite ter que copiar o valores do Phisical e colar no workpoint, e toda vez que atualizar a peça tenha que refazer tudo... separei esta rotina que é apenas necessario clicar no botão para criar/atualizar o ponto.
Copie e cole dentro do seu .ivb

Code:
Public Sub CoG()
'Check to make sure a document is active.
If ThisApplication.ActiveDocumentType = kDrawingDocumentObject Then
MsgBox "Uma peça deve estar ativa."
Exit Sub
End If
' Set the reference to the active document.
Dim oDoc As Document
Set oDoc = ThisApplication.ActiveDocument
' Get the Center of Mass.
Dim oCenterOfMass As Point
Set oCenterOfMass = oDoc.ComponentDefinition.MassProperties.CenterOfMass
' Check to see if a work point for center of mass already exists.
' This uses the name of the work feature to identify it.
On Error Resume Next
Dim oWorkPoint As WorkPoint
Set oWorkPoint = oDoc.ComponentDefinition.WorkPoints.Item("Center Of Mass")
If Err.Number = 0 Then
Dim oFixedDef As FixedWorkPointDef
Set oFixedDef = oWorkPoint.Definition
oFixedDef.Point = oCenterOfMass
oDoc.Update
Else
' Create a new workpoint at the location of the center of mass.
Set oWorkPoint = oDoc.ComponentDefinition.WorkPoints.AddFixed(oCenterOfMass)
' Rename the work point.
oWorkPoint.Name = "Center Of Mass"
End If
End Sub
---------


Depois de colar no seu .IVB, salve.
Reinicie o Inventor.
Entre no Customize/Macros e adicione na sua barra de ferramentas.

Porque não deixei automatico na hora de salvar?
1- Já existe um Plug in para isto...
2- Se ficar automatico, ele cria para todas as peças e conjuntos... pesando assim na hora de salvar conjuntos pesados, que a grande maioria nem sempre é necessario saber o Centro de Gravidade da peça ou do conjunto.

Bom uso..

2 comentários:

Cleyson Espíndula disse...

Amigo, estou tentando rodar a macho, mas apareceu um erro na linha: "Set oCenterOfMass = oDoc.ComponentDefinition.MassProperties.CenterOfMass", você conseguiu rodar essa macro?

Carlos Roberto de Sousa e Silva disse...

Muito bom.

Postar um comentário

Gostou do que acabou de ler? Então deixa seu comentário.

Related Posts with Thumbnails