Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  iProperties in idw verwenden

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  iProperties in idw verwenden (1701 mal gelesen)
ElCheffe
Mitglied


Sehen Sie sich das Profil von ElCheffe an!   Senden Sie eine Private Message an ElCheffe  Schreiben Sie einen Gästebucheintrag für ElCheffe

Beiträge: 5
Registriert: 24.03.2014

Windows 7 Pro SP1
Inventor Pro 2014 SP1

erstellt am: 24. Mrz. 2014 15:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,
ich versuche gerade die iProperties der Erstansicht eines Bauteils / einer Baugruppe in die iProperties einer Zeichnung zu übernehmen. Das funktioniert auch mit folgendem Code wunderbar:


modelName = IO.Path.GetFileName(ThisDrawing.ModelDocument.FullFileName)
If iProperties.Value("Project", "Description") = ""
  iProperties.Value("Project", "Description") = iProperties.Value(modelName, "Project", "Description")
End If
If iProperties.Value("Project", "PROJECT") = ""
  iProperties.Value("Project", "PROJECT") = iProperties.Value(modelName, "Project", "PROJECT")
End If


Nun habe ich allerdings das Problem, dass ich ab und an auch mal eine Zeichnungsableitung von Explosionsdarstellungen machen muss. Hier funktioniert der obige Code nun nicht mehr und es wird folgende Meldung ausgegeben:
"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."

Um diese Fehlermeldung zu umgehen habe ich den Code nun so verändert:


modelName = IO.Path.GetFileName(ThisDrawing.ModelDocument.FullFileName)
Endung = Right(modelName,3)
If Endung = "ipn" Then
  MessageBox.Show("Die Übernahme der iProperties aus der Explosionsdarstellung ist nicht möglich. Bitte fülle die iProperties 'Projekt' und 'Bezeichnung' selber aus!", "Übernahmefehler")
Else
  If iProperties.Value("Project", "Description") = ""
    iProperties.Value("Project", "Description") = iProperties.Value(modelName, "Project", "Description")
  End If
  If iProperties.Value("Project", "PROJECT") = ""
    iProperties.Value("Project", "PROJECT") = iProperties.Value(modelName, "Project", "PROJECT")
  End If
End If


Anstatt aber eine Meldung auszugeben würde ich den Code gerne so ändern, dass das Script merkt das die Erstansicht eine *.ipn ist und dann die Daten aus der in der *.ipn dargestellten Baugruppe rauszieht.
Da ich in der *.ipn Datei keine iLogic Regeln verwenden kann sehe ich nur diese Möglichkeit. Wenn es noch eine andere Möglichkeit gibt, bin ich für jeden Vorschlag offen.

Gruß

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ElCheffe
Mitglied


Sehen Sie sich das Profil von ElCheffe an!   Senden Sie eine Private Message an ElCheffe  Schreiben Sie einen Gästebucheintrag für ElCheffe

Beiträge: 5
Registriert: 24.03.2014

Windows 7 Pro SP1
Inventor Pro 2014 SP1

erstellt am: 07. Mai. 2014 11:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hab das Ganze nun wie folgt gelöst.
Habe mir den Bauteilnamen der Erstansicht ausgeben lassen und (dann nach einem bestimmten Schlüssel) dann nach der ipt oder iam gesucht und deren Werte dann ausgelesen.
Das sieht dann so aus:


modelName = IO.Path.GetFileName(ThisDrawing.ModelDocument.FullFileName)
Dateiendung = Right(modelName,3)
If Dateiendung = "ipn" Then
modelName1 = Left(modelName, Len(modelName) - 4)
Dim StrArray() As String = {modelName}
For Each Str As String In StrArray
  If Str.Contains("XXX") Then
   Endung = ".ipt"
  ElseIf Str.Contains("YYY") Then
   Endung = ".iam"
  End If
Next
modelName = modelName1 & Endung
End If


Die Inhalte der iProperties habe ich dann über folgende Variable erhalten:
iProperties.Value(modelName, "Custom", "Artikelnummer")

[Diese Nachricht wurde von ElCheffe am 07. Mai. 2014 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz