| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Properties ohne öffnen einer Datei (4430 mal gelesen)
|
yamaha Mitglied Konstrukteur
Beiträge: 374 Registriert: 19.05.2004 Autocad/Inventor 2022, Windows 10 Pro 64Bit
|
erstellt am: 21. Mai. 2004 16:26 <-- editieren / zitieren --> Unities abgeben:
|
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 21. Mai. 2004 18:42 <-- editieren / zitieren --> Unities abgeben: Nur für yamaha
|
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 22. Mai. 2004 10:24 <-- editieren / zitieren --> Unities abgeben: Nur für yamaha
Hallo Yamaha, ... oder Honda ??? naja, ich bevorzuge HD... Seis drum. Du shreibst 'ohne in Inventor zu oeffnen'... daywa1k3r hat natuerlich recht - mit Apprentice Server kannst Du darauf zugreifen, ohne dass IV ueberhaupt laeuft. Wenn Dein IV aber sowieso geoeffnet ist, kannst Du auch einfach ein Objekt eines anderen Parts erzeugen und Dir die Informatioen holen, ohne dass das Bauteil sichtbar ist. Da keine Grafik aufgebaut werden muss, ist das Ganze sehr schnell. Die Frage ist also: OHNE dass IV laeuft oder nicht. Gruesse,
Paul www.morecam.ch/cad.htm www.ashburyroad.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yamaha Mitglied Konstrukteur
Beiträge: 374 Registriert: 19.05.2004 Autocad/Inventor 2022, Windows 10 Pro 64Bit
|
erstellt am: 22. Mai. 2004 17:37 <-- editieren / zitieren --> Unities abgeben:
Hey Paul, 1. zu Properties Bin ich mir zur Zeit noch nicht sicher ob mit Inv oder ohne werde euren Ansatz mal testen. 2. moto schickes Teil von dir, meine ist nicht ganz so schick aber trotz der 21 Jahre gut drauf. Das ich mich im Forum so nenne soll nicht heißen das ich andere Marken nicht anschaue, war mehr so´n plötzlicher Einfall.
------------------ Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 23. Mai. 2004 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für yamaha
|
yamaha Mitglied Konstrukteur
Beiträge: 374 Registriert: 19.05.2004 Autocad/Inventor 2022, Windows 10 Pro 64Bit
|
erstellt am: 23. Mai. 2004 18:44 <-- editieren / zitieren --> Unities abgeben:
Hey, habe folgenden Code ausprobiert ==================================================== Public Sub UebernahmeProperties() Dim objApp As New ApprenticeServerComponent Dim objDoc As ApprenticeServerDocument Dim oPropSets As PropertySets Dim oPropSet As PropertySet Dim oProp As Property Set objDoc = objApp.Open("D:\Konst_Inventor Laptop\INVENTOR_Zeichnungen\Vogelhaus\Fuß.ipt") Set oPropSets = objDoc.PropertySets ' in dieser Zeile Fehlermeldung For Each oPropSet In objDoc.PropertySets For Each oProp In oPropSet Debug.Print oProp.Name 'Zeile = Zeile + 1 'Me.Spreadsheet1.Cells(Zeile, 1).Value = oProp.Name 'Me.Spreadsheet1.Cells(Zeile, 2).Value = oProp.Value Next oProp Next oPropSet Zeile = Zeile + 1 Me.Spreadsheet1.Cells(Zeile, 2).Value = "-------- benutzerdefiniert" For Each oProp In objDoc.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}") 'Benutzerdefiniert Zeile = Zeile + 1 Me.Spreadsheet1.Cells(Zeile, 1).Value = oProp.Name Me.Spreadsheet1.Cells(Zeile, 2).Value = oProp.Value Next Set oPropSets = Nothing Set objDoc = Nothing Set objApp = Nothing End Sub ==================================================== Frage: In Excel funktioniert das Auslesen der Properties. In Inventor bekommen ich immer folgende Fehlermeldung Laufzeitfehler Nr. 445 "Objekt unterstützt diese Aktion nicht" Wieso? ------------------ Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yamaha Mitglied Konstrukteur
Beiträge: 374 Registriert: 19.05.2004 Autocad/Inventor 2022, Windows 10 Pro 64Bit
|
erstellt am: 23. Mai. 2004 19:06 <-- editieren / zitieren --> Unities abgeben:
|
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 23. Mai. 2004 19:31 <-- editieren / zitieren --> Unities abgeben: Nur für yamaha
Zitat: Original erstellt von yamaha: Wieso?
Bei mir funzt es... Welche Inventor Version ? Andere ipt Datei probiert ? ------------------ Grüße daywa1k3r [Diese Nachricht wurde von daywa1k3r am 23. Mai. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 24. Mai. 2004 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für yamaha
Hallo Joern, oeffne ein Zeichnungs-Dokument mit mindestens einer View (auf ein ipt). Mit folgendem code kannst Du z.B. auf das in der View abgebildtete Part-file zugreifen: Private Sub PopertiesFromRefFileOfDrawing() Dim oApp As Inventor.Application Set oApp = ThisApplication Dim oDrawDoc As DrawingDocument Set oDrawDoc = oApp.ActiveDocument MsgBox oDrawDoc.FullFileName, , "Zeichnung" Dim oPtDoc As PartDocument Set oPtDoc = oDrawDoc.ActiveSheet.DrawingViews(1).ReferencedFile.ReferencedDocument ' anstelle einer Referenz wie in diesem Beispiel kannst Du auch ein File ' unsichtbar oeffnen ---> nach gebrauch unbedingt wieder schliessen, sonst ' bleibt das Objekt am Leben ! 'Set oPtDoc = oApp.Documents.Open("PfadUndNameDesZuOeffnendenIPT", False) MsgBox oPtDoc.FullFileName, , "Ref-File der 1. View" Dim oPropSet As PropertySet For Each oPropSet In oPtDoc.PropertySets Debug.Print "PROPERTYSET-NAME: "; oPropSet.DisplayName Dim oProp As Property For i = 1 To oPropSet.Count Set oProp = oPropSet(i) On Error Resume Next Debug.Print "Property-Name: " & oProp.Name & " WERT: " & oProp.Value Next i Next oPropSet ' Falls Variante 'unsichtbar oeffnen', File wieder schliessen und Objekt dereferenzieren 'call oPtDoc.Close (True) 'Set oPtDoc = Nothing End Sub
Ich hoffe, das hilft.
Gruesse,
Paul www.morecam.ch/cad.htm www.ashburyroad.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yamaha Mitglied Konstrukteur
Beiträge: 374 Registriert: 19.05.2004 Autocad/Inventor 2022, Windows 10 Pro 64Bit
|
erstellt am: 24. Mai. 2004 15:10 <-- editieren / zitieren --> Unities abgeben:
|
yamaha Mitglied Konstrukteur
Beiträge: 374 Registriert: 19.05.2004 Autocad/Inventor 2022, Windows 10 Pro 64Bit
|
erstellt am: 24. Mai. 2004 15:43 <-- editieren / zitieren --> Unities abgeben:
Hey Paul, es klappt !!! Nur doch nochmal eine Frage: Es klappt wenn ich in der IDW ein IPT abbilde. Wenn ich in der IDW ein IAM abbilde gibt es Probleme. Ich habe schon die Zeilen mit ----------Dim oPtDoc As PartDocument----------- als Kommentar gekennzeichnet. Dann nimmt er zwar danach das Erstellen eines Objektes an, aber in der Zeile ---------For Each oPropSet In oPtDoc.PropertySets-------- gibt es dann Laufzeitfehler 438 Objekt unterstützt diese Methode bzw. Eigenschaft nicht. Eine Baugruppe hat doch auch Properties!? Werden die Eigenschaft für eine Baugruppe anders abgefragt?
------------------ Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 24. Mai. 2004 17:38 <-- editieren / zitieren --> Unities abgeben: Nur für yamaha
Hallo Joern, ersetze einfach die Zeile: Dim oPtDoc As PartDocument durch: Dim oPtDoc As Inventor.Document ... dann klappts auch mit dem Assembly... BTW: - vor Erstellen eines Beitrages/einer Antwort in die API-Hilfe schauen - vor Erstellen eines Beitrages/einer Antwort ueber die Funktion 'Suchen' nach aehnlchen Themen suchen - fuer gute Antworten Unities verteilen :-)
Gruesse,
Paul www.morecam.ch/cad.htm www.ashburyroad.com
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
yamaha Mitglied Konstrukteur
Beiträge: 374 Registriert: 19.05.2004 Autocad/Inventor 2022, Windows 10 Pro 64Bit
|
erstellt am: 24. Mai. 2004 18:39 <-- editieren / zitieren --> Unities abgeben:
|
yamaha Mitglied Konstrukteur
Beiträge: 374 Registriert: 19.05.2004 Autocad/Inventor 2022, Windows 10 Pro 64Bit
|
erstellt am: 28. Mai. 2004 09:00 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, da ihr mir so schön geholfen habt, wollte ich euch den Lohn unserer gemeinsamen Bemühungen auch mal zur Verfügung stellen. siehe beiliegen Datei: Das Tool dient zum Bearbeiten der iProperties. Damit´s funktioniert müßt ihr auch Office 10.0 (2002) bzw. die Office Components davon installiert haben. In der ersten Zeile des Spreadsheet ist die Inventorbezeichnung des iProperties aufgeführt, in der zweiten Zeile meine Verwendungs bezeichnung. Durch Ändern der Bezeichnungen könnt ihr das auch nach eueren Bedürfnissen anpassen. ------------------ Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |