Santa123
Mechanical
- Oct 2, 2006
- 80
Hello,
I am creating a macro, which add material to part, read mass and put it to lblMassValue. Button2 add material to Body but weight is not updated, it stays the same as it was without material.
I am creating a macro, which add material to part, read mass and put it to lblMassValue. Button2 add material to Body but weight is not updated, it stays the same as it was without material.
Code:
Public Class Form1
Public MyActiveDocument As Document
Public MyProduct As Product
Public MyParamMass As Double
Public MyPart As Part
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MyActiveDocument = GetCATIA.ActiveDocument
MyProduct = MyActiveDocument.product
GetCATIA()
End Sub
Public Function GetCATIA() As INFITF.Application
Try
GetCATIA = GetObject(, "CATIA.Application")
lblMasaValue.Text = MyParamMass
Catch NoCATIARunning As Exception
GetCATIA = CreateObject("CATIA.Application")
End Try
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim CATMatManager As MaterialManager
Dim MaterialDocPath As String
Dim MaterialName, MaterialFamilyName As String
Dim MaterialDocument As Document
Dim MyMaterial As Material
Dim MyBody As Body
Dim LinkMode
Dim anlysisMaterial As MaterialManager
MyParamMass = FormatNumber(MyProduct.Analyze.Mass, 2)
MyPart = GetCATIA.ActiveDocument.Part
'*************Identify Material ******************
MaterialName = "Oak"
MaterialFamilyName = "Wood"
' *************Identify the Material Doc Path: *******************
MaterialDocPath = "C:\Program Files\Dassault Systemes\B27\win_b64\startup\materials\Catalog.CATMaterial" '*
'**************Modified From the AutomationV5.chm File:
MaterialDocument = GetCATIA.Documents.Read(MaterialDocPath)
MyMaterial = MaterialDocument.Families.Item(MaterialFamilyName).Materials.Item(MaterialName)
CATMatManager = MyPart.GetItem("CATMatManagerVBExt")
MyBody = MyPart.MainBody
' -----------------------------------------------------------
' Apply the material on the Product (as a link)
' -----------------------------------------------------------
LinkMode = 1
CATMatManager.ApplyMaterialOnBody(MyBody, MyMaterial, LinkMode)
' -----------------------------------------------------------
' Retrieve the material applied on the Product
' -----------------------------------------------------------
MyPart.Update()
lblMassValue.Update()
lblMassValue.Text = MyParamMass
End Sub
End Class