Beyond Inventor Wizard... The Community!

Autodesk Inventor en AutoCAD Forum

Beste ....

 

Heeft iemand een Macro waarmee alle dimensions worden geexporteerd ( excel ? ) , welke aangemerkt zijn als "Inspection Dimension" ?

Hiermee kan dan makkelijk een lijst ( formulier ) worden gemaakt waarop alleen de maten en toleranties vermeldt staan die van belang zijn voor kwaliteitscontrole van een produkt.....

 

Voor solidworks is wel zoiets..... > Link...

PS : Ik gebruik : INV 2008

 

Met vriendelijke groet .

Aantal maal bekeken: 653

Hierop reageren

Berichten in deze discussie

he frederic,

daar ga je mij ook een groot plezier mee doen.

hopelijk word geduld beloond.

 

goe bezig!

grtj

ludwig

 

.... Kben benieuwd of Frederic  al iets verder gekomen is ... ;-)

Beloofd is beloofd:

 

Public Sub GetInspectionDimDataFromInventor()

Dim invDDOC As Inventor.DrawingDocument
Dim invSHEETS As Inventor.Sheets
Dim invActSHT As Inventor.Sheet
Dim invDDIMS As Inventor.DrawingDimensions
Dim invActDIM As Inventor.DrawingDimension
Dim invDDText As Inventor.DimensionText
Dim invUOM As Inventor.UnitsOfMeasure
Dim invAPP As Inventor.Application
Dim invIDShapeEnum As Inventor.InspectionDimensionShapeEnum

'aanmaken van een excelsheet
Dim ExcelApp As Excel.Application
Dim Workbookobj As Excel.Workbook
Dim Sheetobj   As Excel.WorkSheet

Set ExcelApp = CreateObject("Excel.Application")
Set Workbookobj = ExcelApp.Workbooks.Add(1)
Set Sheetobj = Workbookobj.ActiveSheet


Dim strIDLabel As String
Dim strIDRate As String
Dim intIndex As Integer

    
   
    Set invDDOC = ThisApplication.ActiveDocument
    Set invSHEETS = invDDOC.Sheets
   
    Sheetobj.Cells(1, 1).Value = "Dimension Text"
    Sheetobj.Cells(1, 2).Value = "Label"
    Sheetobj.Cells(1, 3).Value = "Rate"
    Sheetobj.Cells(1, 4).Value = "Overridden"
    intIndex = 2
    'itereren door elke sheet in idw
    For Each invActSHT In invSHEETS
    Set invDDIMS = invActSHT.DrawingDimensions
       
        'itereren door elke bemating
        For Each invActDIM In invDDIMS
            'checken of het een inspeciondim is
            If invActDIM.IsInspectionDimension Then
               
                Set invDDText = invActDIM.Text
                invActDIM.GetInspectionDimensionData invIDShapeEnum, strIDLabel, strIDRate
                Sheetobj.Cells(intIndex, 1).Value = invDDText.Text
                Sheetobj.Cells(intIndex, 2).Value = strIDLabel
                Sheetobj.Cells(intIndex, 3).Value = strIDRate
               
                'checken of de modelvalue overridden is
                If invActDIM.ModelValueOverridden Then
                    Sheetobj.Cells(intIndex, 4).Value = "YES"
                Else
                    Sheetobj.Cells(intIndex, 4).Value = "NO"
                End If
               
                intIndex = intIndex + 1
            End If
        Next
    Next
'excelsheet tonen
ExcelApp.Visible = True

End Sub

Heel erg bedankt... TOPPER !!!
We gaan er zo snel mogelijk mee aan de gang !!!

Opmerkingen altijd welkom, dan pas ik die wel even aan.

Ik heb deze code geprobeerd te gebruiken in IV2008, maar de variabele "invIDShapeEnum" kan ik niet declareren, de eigenschap "Inventor.InspectionDimensionShapeEnum" bestaat niet.

Nu heb ik gezocht of er een eigenschap is die hier veel op lijkt, maar kan hem nog niet vinden.
Misschien dat hier toch een versie-conflict is. Dacht op het Autodesk Discussion Board namelijk te lezen dat het (in oudere versies) niet via de API (http://bit.ly/pu6CmY) kan worden aangeroepen.

Of is er bij iemand misschien een oplossing bekend?

Groeten,
Steven

In inventor 2008 was deze optie niet beschikbaar.

RSS

Interessante links

Word Fan!

Inventor Wizard Cartoons

Video's

  • Video's toevoegen
  • Alles weergeven

© 2017   Gemaakt door Stefaan Boel.   Verzorgd door

Banners  |  Een probleem rapporteren?  |  Algemene voorwaarden