| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Properties über ApprenticeServer (2789 mal gelesen)
|
Armbrust Mitglied Entwicklungsingenieur
Beiträge: 4 Registriert: 14.06.2004
|
erstellt am: 25. Jun. 2004 14:02 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte über ApprenticeServerComponent auf die Properties (PropertySets) meiner Zeichnungen (.idw) zugreifen. Das funktioniert aber einfach nicht, auch wenn ich das so mache wie in der Inventor-Hilfe als Beispiel beschrieben. Kennt sich da jemand aus ? Das wäre echt super !! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TSch Mitglied CAD/PDM Administrator
Beiträge: 102 Registriert: 26.07.2002 Sei frohgemut bei allen Dienstobliegenheiten !
|
erstellt am: 19. Jul. 2004 09:54 <-- editieren / zitieren --> Unities abgeben: Nur für Armbrust
Hi ! Du machst es uns so wirklich zu schwer..... Wie wärs mit "mehr Details" ? Ein Stück Code und die Fehlerbeschreibung erhöht die Wahrscheinlichkeit einer Antwort !!! Aber : Meines Wissens nach funzt der zugriff auf die Props der idw problemlos. Von daher liegt (vermutlich) der Fehler in Deinem Code. ------------------ Thomas Sch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianS Mitglied Leiter Kundenbetreuung
Beiträge: 635 Registriert: 27.09.2000
|
erstellt am: 19. Jul. 2004 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für Armbrust
Hi Armbrust, bei mir funktioniert es sauber. Anbei hängt ein Auszug aus dem Skript. Meine Aufgabe war es dabei, die Attribute, die aus einer ASCII Datei kamen in die Properties zu schreiben. In dem Skript ist daher eine 3-fach Schleife enthalten, die zuerst die Propertysets abholt,und dann die Properties gegen meine eingelesenen Attribute checkt. Mag sein, dass es auch eine elegantere Lösung gibt.... diese funktioniert bei mir jedoch sicher und zuverlässig. Ein Problem habe ich bei den Properties noch,.. wenn ein Property vom Typ 'Date' geleert werden soll, dann funktioniert das nicht. Ich habe dann in der Zeichnung den 1.1.1601 stehen. Hast Du eine Idee, woran das liegen kann ? Gruß Christian '************************************************** ' AttValues_CADNames = eine Collection mit den Propertynames ' AttValues_CADValues = eine Collection mit den zugewiesenen Values und AttValues_CADNames als Key-Names Dim oApprentice As New ApprenticeServerComponent ' Open a document. Dim oDoc As ApprenticeServerDocument Set oDoc = oApprentice.Open(CommandCadFileName) ' Attribute füllen Dim PropertySet As PropertySet For x = 1 To oDoc.PropertySets.Count Set PropertySet = oDoc.PropertySets.Item(x) For y = 1 To PropertySet.Count AttCount = 0 For z = 1 To AttValues_CADNames.Count If UCase(AttValues_CADNames.Item(z)) = UCase(PropertySet.Item(y).Name) Then PropertySet.Item(y).Value = AttValues_CADValues.Item(AttValues_CADNames.Item(z)) End If Next z Next y Next x ' dokument speichern und schließen Dim oFileSaveAs As FileSaveAs Set oFileSaveAs = oApprentice.FileSaveAs ' Save the assembly. Call oFileSaveAs.AddFileToSave(oDoc, oDoc.FullFileName) Call oFileSaveAs.ExecuteSave Set oDoc = Nothing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Marco Lorenz Mitglied Softwareentwickler, freier Inventor & AutoCAD Händler
Beiträge: 59 Registriert: 18.09.2001 Win NT,2k,XP Pro Acad+Mechanical2k-2005, Inventor 5-9
|
erstellt am: 19. Jul. 2004 12:09 <-- editieren / zitieren --> Unities abgeben: Nur für Armbrust
Hallo, Christian, das mit dem Rücksetzen des Datums geht bei mir auch nicht, offensichtlich, weil der Typ Datum ist und kein Null akzeptiert. Zu Armbrust noch eine Ergänzung: Wenn Du neue benutzerdefinierte Properties setzen willst, geht das ungefähr so: ***************************** Dim oPropSet As PropertySet, Benutzer As PropertySet For Each oPropSet In oDoc.PropertySets If oPropSet.DisplayName = "User Defined Properties" Or oPropSet.DisplayName = "Inventor - Benutzerdefinierte Eigenschaften" Then Set Benutzer = oPropSet Next oPropSet Benutzer.Add "neues Property", "Wert von neuem Property" *************************** Vorsicht allerdings, falls das Property schon existiert, gibts einen Fehler (mußt Du vorher drauf prüfen)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ulr1ch Mitglied Konstrukteur
Beiträge: 75 Registriert: 18.12.2003 IV9 Windows XPpro Pentium 4 2,4GHz 1,5GB RAM
|
erstellt am: 02. Nov. 2004 11:54 <-- editieren / zitieren --> Unities abgeben: Nur für Armbrust
Hallo Leute, ich hab zum Rücksetzten des Datums noch eine Idee: Ich setze das Datum immer bewusst auf den 1.1.1601 wenn ich einen Eintrag löschen möchte. Dabei wird dann automatisch das Datumsfeld inaktiviert. Servus Ulrich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Evil_Bart Mitglied CAD Admin (Freiberuflich)
Beiträge: 137 Registriert: 14.08.2003 - Win 7 CAD: - Inventor 2013 Pro - AM 2013 - SAP/PLM
|
erstellt am: 04. Nov. 2004 09:10 <-- editieren / zitieren --> Unities abgeben: Nur für Armbrust
|