Hot News:
   

Mit Unterstützung durch:

  Foren auf CAD.de
  Inventor VBA
  iLogic benutzerdef.iProp

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

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
  
AutoCAD Schulung mit IHK-Zertifizierung , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
Autor Thema:  iLogic benutzerdef.iProp (121 / mal gelesen)
dieLocke
Mitglied
Konstrukteurin


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

Beiträge: 126
Registriert: 07.03.2007

Windows 11 Enterprise
64GB RAM
Nvidia Quadro P2000
Inv Professional 2026

erstellt am: 16. Dez. 2025 08:51    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,
In einer Excel-Tabelle sind die IDW aufgeführt und der neue Wert des iProperties. Diese Werte werden in meinem iLogic als Arraylist abgespeichert, die Anzahl der einzulesenden Zeilen wird vorher mit INPUTBOX ermittelt.
Mein Programm aoll in einer FOR-Schleife die IDW's aufrufen und die benutzerdefinierten Parameter ändern.
Die Zeichnungen werden aufgerufen, der neue Wert des iProperties wird in der Messagebox korrekt angezeigt, geändert werden die iProperties aber nicht. Welchen Grund könnte es dazu geben? 
(ich habe diesen Befehl iProperties.Value("Custom","09_Sheet") = 5 in einer Testregel einzeln ausgeführt, dort funktioniert es auch.)

------------------
Gruß
M.S., die Locke

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik, Master Eng. IT-Security & Forensic




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

Beiträge: 3001
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 16. Dez. 2025 09:21    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 Nur für dieLocke 10 Unities + Antwort hilfreich

Moin

iProperties ist ein iLogic Objekt, dass beim Aufrufen einer Regel im Kontext der Datei erstellt wird, aus der die Regel aufgerufen wurde. Wechselt das aktive Dokument im Laufe der Regel, wird das Objekt nicht neu erstellt oder aktualisiert. Schau mal in die am Anfang geöffnete Datei, dort steht jetzt der letzte iPropwert drin, da in jedem Durchlauf überschrieben.
Entweder die Baugruppenvariante benutzen und den DocumentName mitgeben

Code:
iProperties.Value("DocumentName", "Custom", "09_Sheet")

oder, wenn das auch nicht gehen sollte, den klassischen Weg (aus dem Kopf, könnte nicht ganz fehlerfrei sein):

Code:

Dim oDoc As Document = ThisApplication.ActiveDocument
Dim oPropSet As PropertySet = oDoc.PropertySets(4)
Try
oPropSet.Item("09_Sheet").Value= "DEIN_WERT"
Catch
oPropSet.Add("DEIN_WERT","09_Sheet")
End Try


------------------
MfG
Ralf

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

dieLocke
Mitglied
Konstrukteurin


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

Beiträge: 126
Registriert: 07.03.2007

Windows 11 Enterprise
64GB RAM
Nvidia Quadro P2000
Inv Professional 2026

erstellt am: 16. Dez. 2025 12:27    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 Ralf.
es hat funktioniert. Die Werte werden jetzt an die richtige Stelle geschrieben...vielen vielen Dank 

------------------
Gruß
M.S., die Locke

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

dieLocke
Mitglied
Konstrukteurin


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

Beiträge: 126
Registriert: 07.03.2007

Windows 11 Enterprise
64GB RAM
Nvidia Quadro P2000
Inv Professional 2026

erstellt am: 18. Dez. 2025 14:15    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 nochmal,
wie schon einmal geschrieben, funktionierte deine Hilfe auf Anhieb. Als ich es heute noch einmal versuchte, habe ich bemerkt, dass ich noch einen Zusatz benötige, ich habe diesen zwar eingebaut "ThisDoc.Document.Close(True)", aber dieser Befehl bezieht sich ja nur auf das Objekt, aus dem das Programm gestartet wurde. Könntest du mir da noch einmal behilflich sein? Ich möchte, dass der benannte Befehl sich auf alle Dokumente aus der Schleife auswirkt... vielen Dank

------------------
Gruß
M.S., die Locke

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik, Master Eng. IT-Security & Forensic




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

Beiträge: 3001
Registriert: 15.11.2006

Windows 10 x64, AIP 2020-2025

erstellt am: 18. Dez. 2025 16:57    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 Nur für dieLocke 10 Unities + Antwort hilfreich

Moin

In meinem Beispiel oben ist oDoc bereits das aktive Dokument, also sollte nach dem Erstellen des iProps ein oDoc.Close(True) genügen. Das nach dem Try-Catch statement einfügen:

Code:

Dim oDoc As Document = ThisApplication.ActiveDocument
Dim oPropSet As PropertySet = oDoc.PropertySets(4)
Try
oPropSet.Item("09_Sheet").Value= "DEIN_WERT"
Catch
oPropSet.Add("DEIN_WERT","09_Sheet")
End Try

oDoc.Close(True)


------------------
MfG
Ralf

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

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

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

(c)2025 CAD.de | Impressum | Datenschutz