Beyond Inventor Wizard... The Community!

Autodesk Inventor en AutoCAD Forum

Beste

Wie kan mij helpen want ik zit blok. Ik zou graag een part die aan een voorwaarde voldoet gaan opmeten. Hij doet alles correct behalve meet hij telkens mijn samenstelling en niet het part die ik opende met de code.

Alvast dank :)

Hieronder post ik even de code.

Sub Main()

' Get the active assembly document.
Dim oAsmDoc As AssemblyDocument = ThisApplication.ActiveDocument
' Iterate through all of the documents referenced by the assembly.
Dim oDoc As Document

For Each oDoc In oAsmDoc.AllReferencedDocuments

'Try

' Verify that the document is a part.
If oDoc.DocumentType = kPartDocumentObject Then
Dim oPartDoc As PartDocument = oDoc
'Manipulate part
Dim model As String = oPartDoc.FullFileName
Dim emodel As String = oPartDoc.DisplayName
'emodel = emodel & ".ipt"

eMuppet = Left(iProperties.Value(emodel,"summary","category"),5)

'MessageBox.Show(eMuppet, "Title")

If eMuppet = "Laser" Then

xDoc = ThisApplication.Documents.Open (model,True)

xDoc.rebuild

meet(xDoc,emodel)

xDoc.Close

Else

End If

End If

'Catch
'End Try

Next

End Sub

Public Sub meet (xdoc As document,emodel As String)

Dim X1 As Decimal
Dim X2 As Decimal
Dim X3 As Decimal

X1 = Measure.ExtentsLength
X2 = Measure.ExtentsHeight
X3 = Measure.ExtentsWidth

Dim dikte As String
Dim lengte As String
Dim breedte As String

dikte = MinOfMany(x1, x2, x3)
lengte = MaxOfMany(x1, x2, x3)
breedte = (x1+x2+x3-dikte-lengte)

iProperties.Value(emodel,"Custom", "dikte") = dikte
iProperties.Value(emodel,"Custom", "lengte") = lengte
iProperties.Value(emodel,"Custom", "breedte") = breedte

End Sub

Aantal maal bekeken: 136

Hierop reageren

Berichten in deze discussie

Hoi,

Het probleem is dat die functie ook de workplanes/workaxis meeneemt in de berekening.

maw een verschrikkelijke functie als er workgeometry aanstaat.

Ik gebruik deze functie om mijn afmetingen te kennen (is wel in vb.net) , nadeel is dat deze eveneens in de x y z richting van het model meet, dus als uw ontwerp schuin is, krijg je de bounding box maten.

Private Sub m_PartSize_OnExecute(Context As Inventor.NameValueMap) Handles m_PartSize.OnExecute
' Set a reference to the active drawing document

Dim oDoc As PartDocument
oDoc = InvApp.ActiveDocument

Dim x, y, z As Double

Dim fpBox As Object
fpBox = oDoc.ComponentDefinition.RangeBox

x = (fpBox.MaxPoint.x - fpBox.MinPoint.x) * 10
y = (fpBox.MaxPoint.y - fpBox.MinPoint.y) * 10
z = (fpBox.MaxPoint.Z - fpBox.MinPoint.Z) * 10

'MsgBox oDoc.FullDocumentName & vbCrLf & "X: " & X & vbTab & "Y: " & Y & vbTab & "Z: " & Z
Call InputBox("Waardes", "Afmetingen", "X: " & Math.Round(x, 2) & " " & "Y: " & Math.Round(y, 2) & " " & "Z: " & Math.Round(z, 2))

End Sub

Ik heb hem omgezet naar ilogic en werkt perfect. Dankjewel...

Ja het is idd lastig om een schuin stuk te gaan meten ik denk dat ik er een save as zal in steken naar een werkfolder en de plaat plat slaan en die meten dat kan ik programmeren en is ook de enige manier dat ik kan bedenken om een schuin vlak te gaan meten. Al is deze methode niet altijd een succes. 

Is ook iets waar ik al lang op gezocht heb een plaat die schuin ligt op 1 of andere manier evenwijdig krijgen. Of te meniste dat het zicht recht op de plaat is... Nu heb ik een stop geprogrammeerd en moet ik schuine platen handmatig het zicht bepalen.... En als dat gebeurd is loopt plaats hij die plaat en gaat hij naar de volgende. Maar die stop blijft toch doren in mijn oog... En heeft mij al enkele nachten slaap gekost. En frustratie omdat ik geen oplossing vind. Je kent het fenomeen wel denk ik

Nogmaals dank

Mvg

Ewoud

RSS

Interessante links

Word Fan!

Inventor Wizard Cartoons

Video's

  • Video's toevoegen
  • Alles weergeven

© 2018   Gemaakt door Stefaan Boel.   Verzorgd door

Banners  |  Een probleem rapporteren?  |  Algemene voorwaarden