Beyond Inventor Wizard... The Community!

Autodesk Inventor en AutoCAD Forum

Had graag hulp gehad voor het volgende :

 

I had graag getest of het mogelijk is om 2 assy’s onderling te replacen :

 

Vind volgende functie in ilogic :

 

Component.Replace("Part1:1", "OtherPartfilename.ipt", True)

 

Zoals je ziet , spreekt deel 1 op browsername end deel 2 op filename (hardcoded)

 

Graag had ik het volgende na een copy design mogelijk gezien :

 

Voorbeeld :

 

Deel 1 : beam (browsername) – 12345678_dummy_A.iam (filename)

 

Deel 2 : 1234567_A.iam (filename)

 

 

Via een private routine zou ik deel1 willen vervangen door deel2

Zonder dat de complete filename hiervan afhankelijk is (m.a.w search op gedeelte v/d name)

 

graag enige tips ?

 

Bedankt alvast

Aantal maal bekeken: 338

Hierop reageren

Berichten in deze discussie

Ik begrijp niet helemaal wat je bedoelt. Wil je deel 1 vervangen door een document waarvan je de naam niet helemaal weet? Je kan onderstaande code gebruiken om een document te selecteren in een browser waarna deze assembly 1 vervangt. Indien je iets anders wenst, zou je dan een duidelijkere uitleg kunnen geven.

'present a File Selection dialog
Dim oFileDlg As inventor.FileDialog = Nothing
InventorVb.Application.CreateFileDialog(oFileDlg)
oFileDlg.InitialDirectory = oOrigRefName
oFileDlg.CancelError = True
On Error Resume Next
oFileDlg.ShowOpen()
If Err.Number <> 0 Then
Return
ElseIf oFileDlg.FileName <> "" Then
selectedfile = oFileDlg.FileName
End If
Component.Replace("assy2:1", selectedfile, True)

Hallo ,

Wat ik bedoel is hetvolgende :

ik wil deel 1 vervangen door een deel 2 .

Maar deel 2 heeft een gelijkaardig gedeelte van de filename -> _A.iam

vb Deel 1 : filename : 12345678_dummy_A.iam (dummy_A) als occurence naam

    Deel2  : filename : 12345678_A.iam (ordernummer_omschrijving.iam)

Dus zou hij in dezelfde folder moeten zoeken naar een file met als laatse karakters : _A.iam

bij de standaard functie is het het volledige pad van Deel 2 .

Hier zou hij echter naar "_A.iam" moeten zoeken.

 

Component.Replace("dummy_A", "OtherPartfilename.iam", True)

Zo vermijd ik een manuele selectie .

Hopelijk is dit duidelijker

groeten

Michael, Het is me een stuk duidelijker geworden. Hieronder een aangepaste iLogic Rule waarin Assy2:2.iam wordt vervangen door een document in dezelfde map wat eindigd op - kopie.aim

Met behulp van de standaard vb.net String Methoden kan je bestandsnamen bekijken of bepaalde onderdelen in deze bestandsnaam aanwezig zijn. In deze ilogic rule heb ik nu EndsWith gebruikt en tevens Contains als voorbeeld nog toegevoegd. Voor meer informatie hierover kan je HIER kijken, hier staan alle mogelijkheiden.
Ik denk dat je deze code aan jouw wensen kan aanpassen.

Dim phrase As String = " - kopie.iam"
Dim oFoundFileName As String = Nothing

For Each fileName As String In IO.Directory.GetFiles(ThisDoc.Path, "*.iam")
' If fileName.Contains(phrase) Then
If fileName.EndsWith(phrase) Then
oFoundFileName = fileName
End If
Next

If oFoundFileName IsNot Nothing Then
' MessageBox.Show("Found File:" &fileName, "Title")
Component.Replace("assy2:2", oFoundFileName, True)
Else
MessageBox.Show("No File Found.", "Title")
End If

Rob.

Bedankt Rob !

Dit is wat ik zocht :D

Groeten

Michael

RSS

Interessante links

Word Fan!

Inventor Wizard Cartoons

Video's

  • Video's toevoegen
  • Alles weergeven

© 2020   Gemaakt door Stefaan Boel.   Verzorgd door

Banners  |  Een probleem rapporteren?  |  Algemene voorwaarden