| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: iProperties ändern/aktualisieren (3740 mal gelesen)
|
axi92 Mitglied Konstrukteur
Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 12. Nov. 2013 13:43 <-- editieren / zitieren --> Unities abgeben:
Es war mir zu anstrengend immer in die Benutzerdef iProps zu gehen so hab ich in mein Makro einen iPropertie Manager eingebaut. Das auslesen und ändern klappt prima mein problem ist nur das aktualisieren. Folgendes Szenario: Ich rufe den iProp Manager auf ändere etwas oder schreibe etwas neues hinein und klicke auf speichern. Das Feld in den iProperties ist geändert jedoch die Zeichnung oder besser gesagt der Schriftkopf der Zeichnung hat davon noch nichts mitbekommen^^ Wenn ich allerdings die Iproperties nur kurz aufmache und wieder zumache bemerkt das das Feld im Schriftkopf und aktualisiert sich. Gibt es da irgendeinen Update oder aktualisierungsbefehl? ------------------ Grüße aus Wien Philipp Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 200x, Civil, LDD, MDT, ARD, ACA(ADT) Inventor AIP 4-11,200x WinXP, W2K
|
erstellt am: 12. Nov. 2013 13:46 <-- editieren / zitieren --> Unities abgeben: Nur für axi92
|
axi92 Mitglied Konstrukteur
Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 12. Nov. 2013 13:56 <-- editieren / zitieren --> Unities abgeben:
Ah mein Hirn^^ Den vergesse ich immer: Edit: Weiters hätte ich noch eine Frage wie man Benutzerdef iProperties hinzufügt mit oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("01Änd").Value = kann ich nur eines ändern aber nicht hinzufügen. Habe es schon mit Add Probiert aber da wollte es dann nicht. Code:
Private Sub CommandButton1_Click() Dim oDrawDoc As DrawingDocument Set oDrawDoc = ThisApplication.ActiveDocument Dim oReferencedDoc As Document Dim iprop As String Dim iprop_user_text01 As String On Error Resume Next Set oReferencedDoc = oDrawDoc.ReferencedDocuments.item(1) oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("01Änd").Value = iProp_manager.change_val_01.Value oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("02Änd").Value = iProp_manager.change_val_02.Value oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("03Änd").Value = iProp_manager.change_val_03.Value oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("04Änd").Value = iProp_manager.change_val_04.Value oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("05Änd").Value = iProp_manager.change_val_05.Value End SubPrivate Sub UserForm_Initialize() Dim oDrawDoc As DrawingDocument Set oDrawDoc = ThisApplication.ActiveDocument Dim oReferencedDoc As Document Dim iprop As String Dim iprop_user_text01 As String On Error Resume Next Set oReferencedDoc = oDrawDoc.ReferencedDocuments.item(1) iprop = oReferencedDoc.PropertySets.item("{32853F0F-3444-11D1-9E93-0060B03C1CA6}").item("User Status").Value iProp_manager.change_val_01.Text = oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("01Änd").Value iProp_manager.change_val_02.Text = oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("02Änd").Value iProp_manager.change_val_03.Text = oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("03Änd").Value iProp_manager.change_val_04.Text = oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("04Änd").Value iProp_manager.change_val_05.Text = oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("05Änd").Value iProp_manager.change_val_01.Enabled = False iProp_manager.change_val_01.BackColor = &H8000000F iProp_manager.change_val_02.Enabled = False iProp_manager.change_val_02.BackColor = &H8000000F iProp_manager.change_val_03.Enabled = False iProp_manager.change_val_03.BackColor = &H8000000F iProp_manager.change_val_04.Enabled = False iProp_manager.change_val_04.BackColor = &H8000000F iProp_manager.change_val_05.Enabled = False iProp_manager.change_val_05.BackColor = &H8000000F If iprop = "01" Then iProp_manager.change_val_01.Enabled = True iProp_manager.change_val_01.BackColor = -2147483643 'weiß oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("01Zust").Value = "01" ElseIf iprop = "02" Then iProp_manager.change_val_02.Enabled = True iProp_manager.change_val_02.BackColor = -2147483643 'weiß oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("02Zust").Value = "02" ElseIf iprop = "03" Then iProp_manager.change_val_03.Enabled = True iProp_manager.change_val_03.BackColor = -2147483643 'weiß oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("03Zust").Add oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("03Zust").Value = "03" ElseIf iprop = "04" Then iProp_manager.change_val_04.Enabled = True iProp_manager.change_val_04.BackColor = -2147483643 'weiß oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("04Zust").Value = "04" ElseIf iprop = "05" Then iProp_manager.change_val_05.Enabled = True iProp_manager.change_val_05.BackColor = -2147483643 'weiß oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("05Zust").Value = "05" End If End Sub
------------------ Grüße aus Wien Philipp [Diese Nachricht wurde von axi92 am 12. Nov. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 12. Nov. 2013 19:41 <-- editieren / zitieren --> Unities abgeben: Nur für axi92
Hallo Code: Dim Property As Property Set Property=oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Add("iPropName", "iPropInhalt")
Sollte ein neues benutzerdefiniertes iProp erzeugen. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axi92 Mitglied Konstrukteur
Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 13. Nov. 2013 07:13 <-- editieren / zitieren --> Unities abgeben:
Danke dir Ralf, wie kann ich denn den Typ bestimmen bräuchte auch noch Datum, bzw wie in welchem Format kann ich dann das Datum eintragen oder durch den Benutzer sogar festlegen lassen? EDIT: Datum habe ich jetzt auch herausgefunden: Code:
Dim datum_heute As Date datum_heute = DateTime.Date 'Zuerst setzen falls es noch nicht existiert Set Property = oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Add(datum_heute, "01Datum") 'Dann noch zuweisen oDrawDoc.PropertySets.item("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").item("01Datum").Value = datum_heute
Wenn man das Datumsfeld nur einfügen will aber ohne inhalt muss man als Datum 01.01.1601 Angeben Code:
Dim datum_heute As Date datum_heute = "01.01.1601"
Jedoch fehlt mir noch immer der Befehl zum aktualisieren der iProps. Ich bekomme nachdem ich das Form gespeichert habe noch nicht die neuen in der Zeichnung angezeigt. Erst wenn ich in die iProperties reingehe und die dann schließe aktuallisiert sich die Zeichnung.
------------------ Grüße aus Wien Philipp
[Diese Nachricht wurde von axi92 am 13. Nov. 2013 editiert.] [Diese Nachricht wurde von axi92 am 13. Nov. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axi92 Mitglied Konstrukteur
Beiträge: 685 Registriert: 20.02.2010 Inventor 2014 64bit SP2 Vault Basic 2014 64bit SP1 HP Z200 Win 7 64bit 16GB RAM CPU: i5 3,2GHz GPU: Nvidia Quadro K600
|
erstellt am: 13. Nov. 2013 16:03 <-- editieren / zitieren --> Unities abgeben:
|