Ankündigungen

Die Autodesk Community-Foren haben ein neues Aussehen. Liest mehr darüber, was sich im Community Announcements Board geändert hat.

Zeichnung zu Modell/Baugruppe vorhanden

konstrukteur1U2J4D
Participant

Zeichnung zu Modell/Baugruppe vorhanden

konstrukteur1U2J4D
Participant
Participant

Hi Leute

ich hab scho wieder ne Idee - leider verwenden wir (noch) kein VAULT - aber haben doch recht grosse Baugruppen.

Gibts eine Möglichkeit, es irgendwie im INventor - Browser kenntlich zu machen, obs eine gleichnamige Zeichnung bereits gibt - durch ein kleines Symbol oder was?? Oder gibts da schon ein Programm (wie gesagt für VAULT gibts den DrawingInspector von CoolOrange).

Im Prinzip könne das Programm so arbeiten, dass, wenn ich eine Baugruppe speichere, er prüft, obs im gleichen Ordner eine idw gibt. Wenn dem so ist soll er im Browser z.B. einen farbigen Kreis anzeigen. Its a challange i guess... aber ihr habts drauf... ich denke das wäre eine Hilfe für viele IV-User, die eben kein PDM haben und trotzdem einfach sehen wollen, obs ne Zeichnung gibt oder net.... i red net von aktualität oder so.. das liegt immer in der Verantwortung des einzelnen - es geht mir nur ums Vorhanden sein.

 

Thx in advance!!!!

 

Tom

0 „Gefällt mir“-Angaben
Antworten
Akzeptierte Lösungen (1)
623Aufrufe
23Antworten
Antworten (23)

RaphaelMichel
Collaborator
Collaborator

Nein das gibt es nicht und ohne .Net Addin wohl auch nicht zu bewerkstelligen. Eine Option wäre, in der Baugruppe oder im Bauteil im Browser den Dateinamen zuoberst mit der rechten Maustaste anklicken und im Menu "Zeichnung öffnen" wählen. Dann wird einfach der ganze Arbeitsbereich nach einer Zeichnung mit dem gleichen Dateinamen gesucht und geöffnet - falls vorhanden. Falls die Zeichnung im selben Ordner vorhanden geht das sehr schnell. Wenn aber die Zeichnung nicht vorhanden und der Arbeitsbereich sehr gross ist, kann der Suchlauf entsprechend lange dauern bevor eine Meldung kommt, dass die Zeichnung nicht vorhanden ist.

Was ich aber nicht verstehe ist, warum ihr beim speichern einer Baugruppe schauen möchtet ob es die Zeichnung dazu bereits gibt? Funktioniert das nicht andersrum?

Was ich mir aber vorstellen könnte, wäre eine iLogic-Regel die beim erstellen einer Zeichnung ein iProperty im Bauteil/Baugruppe befüllt, das ein Indikator dafür ist, dass die Zeichnung erstellt wurde.

Ich kann mir aber euer Workflow noch nicht so recht vorstellen.

0 „Gefällt mir“-Angaben

jeremy.goenen
Advocate
Advocate

Hallo, also ich benutze das hier als Externe Regel um zu prüfen ob ich alle Zeichnungen gemacht habe, und ob diese im richtigen Ordner liegen. (Die suche ist auf den Arbeitsbereich des Aktiven Projekts beschränkt)

Wenn eine fehlt, oder falsch abliegt, kriege ich im Protokoll eine Liste:

Bei fehlender,  --> Dateiname gefolgt von der Titel iProperty

Bei falschem Pfad,  --> Den Pfad wo die Zeichnung abliegt

jeremygoenen_0-1726820469449.png

 

In Zeile 30+31 schließe ich Dateien aus die bei mir nie eine Zeichnung haben, das müsstest du an eure Bedürfnisse anpassen 

Sub Main()
    Dim oDoc As Document
    oDoc = ThisDoc.Document
    oDocName = System.IO.Path.GetDirectoryName(oDoc.FullFileName) & "\" & System.IO.Path.GetFileNameWithoutExtension(oDoc.FullFileName)
    
    If Not (oDoc.DocumentType = kAssemblyDocumentObject) Then
        MessageBox.Show("Please run this rule from the assembly  /  Bitte in einer Baugruppe ausführen", "iLogic")
        Exit Sub
    End If
    Dim oNoDwgString As String
	Dim oWrongPathString As String
     '- - - - - - - - - - - - -Component Drawings - - - - - - - - - - - -

     Dim oRefDoc As Document
	 Dim oDrawDoc As DrawingDocument 
											
	For Each oRefDoc In oDoc.AllReferencedDocuments
        oBaseName = System.IO.Path.GetFileNameWithoutExtension(oRefDoc.FullFileName)
		oPathAndName = System.IO.Path.GetDirectoryName(oRefDoc.FullFileName) & "\" & oBaseName
		Dim oEigenschaftProp As PropertySet
		oEigenschaftProp = oRefDoc.PropertySets.Item("Document Summary Information")
		Dim oKategorie As Inventor.Property
        oKategorie = oEigenschaftProp.Item("Category")
		Dim oEigenschaftProp2 As PropertySet
		oEigenschaftProp2 = oRefDoc.PropertySets.Item("Summary Information")
		Dim oTitle As Inventor.Property
        oTitle = oEigenschaftProp2.Item("Title")
			
		Select Case oKategorie.Value
			Case "NT","SK","PH","LG","MO","" 
			Case Else
			If String.IsNullOrEmpty(GetDrawingPath(oBaseName)) Then
	        oNoDwgString = oNoDwgString & vbLf & oBaseName & "     " & oTitle.Value
			Else If GetDrawingPath(oBaseName) <> oPathAndName Then
			oWrongPathString = oWrongPathString & vbLf & GetDrawingPath(oBaseName)	
			End If
			
        End Select
    Next

    '- - - - - - - - - - - - -
   
    '- - - - - - - - - - - - -Top Level Drawing - - - - - - - - - - - -

    oBaseName = System.IO.Path.GetFileNameWithoutExtension(oDoc.FullFileName)
    oPathAndName = System.IO.Path.GetDirectoryName(oDoc.FullFileName) & "\" & oBaseName
	
    If String.IsNullOrEmpty(GetDrawingPath(oBaseName)) Then
		oNoDwgString = oNoDwgString & vbLf & oBaseName & "     " & iProperties.Value("Summary", "Title") & "    OBERSTE BAUGRUPPE"
	Else If GetDrawingPath(oBaseName) <> oPathAndName Then
		oWrongPathString = oWrongPathString & vbLf & GetDrawingPath(oBaseName)
	End If

    If oNoDwgString <> "" Then	
    Logger.Warn( _
	"   Keine Zeichnung gefunden:" _
	& vbNewLine & oNoDwgString & vbNewLine & vbNewLine)
	End If
	
	If oWrongPathString <> "" Then	
    Logger.Warn( _
	"   Zeichnung vorhanden, aber nicht im Modellpfad:" _
	& vbNewLine & oWrongPathString & vbNewLine & vbNewLine)
	End If
	
End Sub

Function GetDrawingPath (docname As String) As String
	
	Dim filename As String = docname & ".idw"
	Dim workspacepath As String = ThisApplication.DesignProjectManager.ActiveDesignProject.WorkspacePath & "\"
	Dim filestring As String = ThisApplication.DesignProjectManager.ResolveFile(workspacepath, filename)
	
	If Not String.IsNullOrEmpty(filestring) Then
		Return Strings.Left(filestring, (filestring.Length-4))
	Else
	End If
	
End Function

  

Fanden Sie diesen Beitrag hilfreich? Fühlen Sie sich frei, diesen Beitrag zu liken.
Wurde Ihre Frage erfolgreich beantwortet? Klicken Sie dann auf die Schaltfläche LÖSUNG AKZEPTIEREN

Inventor Versionen:
2023.4.3
2025.2

konstrukteur1U2J4D
Participant
Participant

Hi Jeremy

 

vielen Dank für das Programm - ich werds ausprobieren und geb dir dann Bescheid ob ichs hingekriegt habe 🙂

 

Cheers

Tom

0 „Gefällt mir“-Angaben

konstrukteur1U2J4D
Participant
Participant

Hi Jeremy

 

leider weiss ich nicht obs funktioniert oder nicht - ich bekomme gar keine Antwort..  😞 - aber auch keine Fehlermeldung 🙂

bei mir hat der Name vom Modell/Zeichnung die Syntax "12345-1234_Bezeichnung"

hat das vielleicht damit was zu tun?

 

cheers

Tom

0 „Gefällt mir“-Angaben

RaphaelMichel
Collaborator
Collaborator

Hallo Tom

Hast du das iLogic-Protokoll offen? Das kannst du wie den iLogic-Browser öffnen mit dem Plus.

RaphaelMichel_0-1727250100902.png

 

0 „Gefällt mir“-Angaben

konstrukteur1U2J4D
Participant
Participant

Jou ist offen

aber da ist nix drin 😐

 

2024-09-25 09_42_16-Autodesk Inventor Professional 2023.png

0 „Gefällt mir“-Angaben

RaphaelMichel
Collaborator
Collaborator

Bei mir funktioniert es problemlos.

RaphaelMichel_0-1727253613858.png

 


Vielleicht hilft dir dieser Link weiter.

0 „Gefällt mir“-Angaben

konstrukteur1U2J4D
Participant
Participant

Jou das hat geholfen!!

Ich musste auf "trace" umstellen- jetzt gehts!!

super vielen Dank!!

 

jeremy.goenen
Advocate
Advocate

Hallo, füg mal die grünen Zeilen 5+6 und 13+14 hinzu, dann kriegst du ein Pop-up zusätzlich zur Meldung im Protokoll:

 

    If oNoDwgString <> "" Then	
    Logger.Warn( _
	"   Keine Zeichnung gefunden:" _
	& vbNewLine & oNoDwgString & vbNewLine & vbNewLine)
        Messagebox.Show("Keine Zeichnung gefunden:" _
	& vbNewLine & oNoDwgString & vbNewLine & vbNewLine)
	End If
	
	If oWrongPathString <> "" Then	
    Logger.Warn( _
	"   Zeichnung vorhanden, aber nicht im Modellpfad:" _
	& vbNewLine & oWrongPathString & vbNewLine & vbNewLine)
        Messagebox.Show("Zeichnung vorhanden, aber nicht im Modellpfad:" _
	& vbNewLine & oWrongPathString & vbNewLine & vbNewLine)
	End If

 

 

Fanden Sie diesen Beitrag hilfreich? Fühlen Sie sich frei, diesen Beitrag zu liken.
Wurde Ihre Frage erfolgreich beantwortet? Klicken Sie dann auf die Schaltfläche LÖSUNG AKZEPTIEREN

Inventor Versionen:
2023.4.3
2025.2
0 „Gefällt mir“-Angaben

konstrukteur1U2J4D
Participant
Participant

Jetzt hab ich aber doch noch ein kleines Problem - leider geht die ilogic routine nicht durch den Modellbaum durch - sondern er prüft nur die oberste Baugruppe, ob da ne Zeichnung vorhanden ist...

Es steht zwar was von "oRefDoc" in der iLogic routine - aber da ist wohl was anders bei mir als bei dir.

Bei mir liegen alle Teile in einem Ordner - Normteile/CC-files natürlich nicht - aber sonst alles...

 

hast da noch ne Idee??

danke!!!

0 „Gefällt mir“-Angaben

RaphaelMichel
Collaborator
Collaborator

Super, das freut mich. Dann darfst du gerne den Beitrag von @jeremy.goenen als akzeptierte Lösung markieren.

0 „Gefällt mir“-Angaben

jeremy.goenen
Advocate
Advocate

Die Anweisung Logger.Warn bestimmt bis zu welcher Ebene getrackt wird, also im Fall von diesem Code, musst du mindesten auf Ebene Warn stehen haben damit die Meldungen erscheinen.

Entschuldige das hätte ich erwähnen sollen. 😅

Fanden Sie diesen Beitrag hilfreich? Fühlen Sie sich frei, diesen Beitrag zu liken.
Wurde Ihre Frage erfolgreich beantwortet? Klicken Sie dann auf die Schaltfläche LÖSUNG AKZEPTIEREN

Inventor Versionen:
2023.4.3
2025.2
0 „Gefällt mir“-Angaben

konstrukteur1U2J4D
Participant
Participant

Hi Jeremy

 

leider geht jetzt nix mehr - wenn ichs auf "warn" gestellt habe

konstrukteur1U2J4D_0-1727254609030.png

 

0 „Gefällt mir“-Angaben

jeremy.goenen
Advocate
Advocate

Hast du die Ausfilterung auf deine Bedürfnisse angepasst wie von mir erwähnt?

in diesem Block,

		Select Case oKategorie.Value
			Case "NT","SK","PH","LG","MO","" 
			Case Else
			If String.IsNullOrEmpty(GetDrawingPath(oBaseName)) Then
	        oNoDwgString = oNoDwgString & vbLf & oBaseName & "     " & oTitle.Value
			Else If GetDrawingPath(oBaseName) <> oPathAndName Then
			oWrongPathString = oWrongPathString & vbLf & GetDrawingPath(oBaseName)	
			End If
			
        End Select

werden alle Dokumente übersprungen, bei diesen diese i-Property:

jeremygoenen_0-1727255840346.png

 

eines der folgenden enthält: 

"NT","SK","PH","LG","MO" oder "" 
"" steht für LEER
Fanden Sie diesen Beitrag hilfreich? Fühlen Sie sich frei, diesen Beitrag zu liken.
Wurde Ihre Frage erfolgreich beantwortet? Klicken Sie dann auf die Schaltfläche LÖSUNG AKZEPTIEREN

Inventor Versionen:
2023.4.3
2025.2
0 „Gefällt mir“-Angaben

konstrukteur1U2J4D
Participant
Participant

Hi Jeremy

 

danke für den Tip - das müsste ich nachholen

aber ich habs jetzt mal bei einem Teil eingetragen,  Dann das Programm ausgeführt.

Ich hab die bestehende Zeichnung umbenannt - sodass das Programm sie eigentlich nicht finden sollte.

leider kommt immer noch die gleiche Meldung im iLogic Protokoll, dass er eben nur die oberste Baugruppe prüft, aber nicht die Struktur. Oder muss diese Kategorie auch in der Baugruppe hinterlegt sein?

 

konstrukteur1U2J4D_0-1727256242979.png

 

danke für deine Mühe und deine Geduld!!!

0 „Gefällt mir“-Angaben

konstrukteur1U2J4D
Participant
Participant

Hey Jeremy

 

ich habs jetzt bei einer anderen Baugruppe in einem anderen Projekt probiert - und da funktionierts!!!

ich hab sogar das Meldungsfenster bekommen!!

konstrukteur1U2J4D_0-1727257595819.png

 

einfach spitze!!!

 

0 „Gefällt mir“-Angaben

jeremy.goenen
Advocate
Advocate

Hier liegt das Problem:

jeremygoenen_0-1727258057038.png

 

Da darf NICHT "NT","SK","PH","LG","MO" oder "" drin stehen.

 

kommentier mal die Zeile:

Case "NT","SK","PH","LG","MO",""

aus.

Fanden Sie diesen Beitrag hilfreich? Fühlen Sie sich frei, diesen Beitrag zu liken.
Wurde Ihre Frage erfolgreich beantwortet? Klicken Sie dann auf die Schaltfläche LÖSUNG AKZEPTIEREN

Inventor Versionen:
2023.4.3
2025.2
0 „Gefällt mir“-Angaben

konstrukteur1U2J4D
Participant
Participant

Hi Jeremy

 

ich muss mich nochmals melden - jetzt hat das Programm in einem IV-Projekt von Anfang an so toll funktioniert. Dann war ich fertig und musste ein neues Projekt laden - und nun gehts nicht mehr. Auch wenn ich wieder das alte Projekt lade - herrschaft... was mach ich denn da falsch???

Ich hab dann nochmals geprüft - Programm auf "Warn" umgestellt. Dann Inventor geschlossen. Dann Inventor neu geöffnet - Befehl ausgeführt - leider kommt nix auch kein Fenster....

ich steh aufm Schlauch - ich find das Programm soo super - es würde echt riesig helfen - denn wir haben hier riesige Baugruppen und da vergisst schnell mal ne  Zeichnung.... Wir müssten natürlich einige Teile mit entsprechende Kategorien versehen dass sie nicht mehr auftauchen - aber das ist ja das kleinste Problem.

 

Nochmals vielen Dank für deine Hilfe und deine Geduld!!

Cheers

Tom

0 „Gefällt mir“-Angaben

jeremy.goenen
Advocate
Advocate

Hallo,

hast du Zeile 31 mal auskommentiert?

Fanden Sie diesen Beitrag hilfreich? Fühlen Sie sich frei, diesen Beitrag zu liken.
Wurde Ihre Frage erfolgreich beantwortet? Klicken Sie dann auf die Schaltfläche LÖSUNG AKZEPTIEREN

Inventor Versionen:
2023.4.3
2025.2
0 „Gefällt mir“-Angaben