iLogic - scale

Paula.N
Enthusiast

iLogic - scale

Paula.N
Enthusiast
Enthusiast

Hallo,

 

ich habe folgende Regel erstellt um den Maßstab zu ermitteln und in eine iProperty zu schreiben. Das funktioniert auch soweit.

 

Dim odrawdoc As DrawingDocument
odrawdoc = ThisApplication.ActiveDocument
customPropertySet = odrawdoc.PropertySets.Item("Inventor User Defined Properties")
For i = 1 To odrawdoc.Sheets.Count
' Make sure the desired property exists
Try 
	prop = customPropertySet.Item("Scale" + Str(i))
Catch       ' Assume error means not found       customPropertySet.Add("", "Scale" + Str(i))
End Try
Try
iProperties.Value("Custom", "Scale" + Str(i)) = odrawdoc.Sheets.Item(i).DrawingViews.Item(1).ScaleString
Catch
End Try
Next i
InventorVb.DocumentUpdate()

Die iProperty habe ich auf einem Schriftkopf platziert.

Wie bekomme ich das hin dass sofort nachdem ich den Maßstab der View ändere die Property im Schriftkopf upgedated wird?

Momentan ist beim Ereignisauslöser 'Vor dem Speichern' aktiv - also wenn ich Speichere funktioniert das.

Aber wie krieg ich das hin ohne Speichern zu müssen?

 

Danke für die Tipps

 

0 „Gefällt mir“-Angaben
Antworten
387Aufrufe
10Antworten
Antworten (10)

RaphaelMichel
Collaborator
Collaborator

Warum nimmst du nicht gleich den "Anfänglichen Ansichtsmassstab" aus dem Typ "Blatteigenschaften?

Der ändert auch mit sobald du die Erstansicht in einem anderen Massstab darstellst.

0 „Gefällt mir“-Angaben

Paula.N
Enthusiast
Enthusiast

Hallo RaphaelMichel,

 

das ich da nicht selbst draufgekommen bin  😎 (Späschen gemacht).

Der Grund warum ich nicht auf den Anfänglichen..... gegangen bin ist dass ich diesen in Vault nicht abgreifen kann, sondern den Maßstab nur über eine User iProperty bekomme.

Oder hast du einen anderen Trick für dieses Problem?

0 „Gefällt mir“-Angaben

RaphaelMichel
Collaborator
Collaborator

Dass du den Massstab in Vault als Eigenschaft sichtbar haben möchtest, konnte ich leider aus deiner Frage nicht herauslesen. Was hast du denn vor mit dem Massstab in Vault? Vielleicht kann ich weiterhelfen, wenn ich verstehe, was du genau erreichen möchtest

0 „Gefällt mir“-Angaben

Paula.N
Enthusiast
Enthusiast

In Vault soll der Maßstab ersichtlich sein da z.B. Office- User nicht unbedingt die Zeichnung öffnen wollen und diese halt die Information brauchen.

 

0 „Gefällt mir“-Angaben

RaphaelMichel
Collaborator
Collaborator

Dann hast du die Lösung ja bereits selber mit deinem eingangs erwähnten i-Logic Script. Die iProperty mit dem Massstab wird nur in Vault aktualisiert, wenn du das Dokument speicherst und eincheckst. Ansonsten haben die Office-User ja nicht die Massstäbe pro Blatt in den Vault-Eigenschaften. Da dies mit deinem Script bereits funktioniert, sollte es doch gehen? Ich denke aber, das ist nicht das was du hören möchtest, schliesslich wärst du ja selbst darauf gekommen😉
Mit den Informationen, die ich von dir habe, kann ich dir aber leider keine bessere Lösung vorschlagen.

0 „Gefällt mir“-Angaben

Dominik.Janshoff
Collaborator
Collaborator

Wie @RaphaelMichel schon gesagt hat, muss dein Script gar nicht früher das iProperty aktualisieren, weil es die Nutzer im Vault erst mitbekommen, wenn die Datei eingecheckt wird.

 

Wenn ich deinen Code richtig verstanden habe, durchläufst du alle Blätter und prüfst/erstellst ein iproperty für jedes Blatt. Gibt es denn bei euch Zeichnungen, die mehr als ein Blatt haben? Ich nehme mal an, dass das bei euch so ist. Sonst würdest du ja nicht die Schleife bauen. Welcher der Maßstäbe willst du dann in deinem Vault haben? Die Eigenschaft in Vault kannst du immer nur mit einem iProperty mappen. Somit bringt es dir nichts, dass du zwar immer schön alle iProperties in der Datei hast, weil du nicht "dynamisch" neue Eigenschaften im Vault erstellen kannst, welche die Informationen aufnehmen.

 

 

RaphaelMichel
Collaborator
Collaborator

Die Eigenschaften lassen sich schon mappen, indem man eine maximale Anzahl an Blättern annimmt und diese in einer Beispiel-Datei mit Vault mappt. Sind es weniger Blätter, bleiben die zusätzlichen Eigenschaftsfelder einfach leer. Aber ob das ganze wirklich Sinn ergibt, bleibt mir noch etwas schleierhaft.

0 „Gefällt mir“-Angaben

Dominik.Janshoff
Collaborator
Collaborator

Ja, grundsätzlich kann man das machen, den Gedanken hat ich auch kurz in Erwägung gezogen. Aber am Ende bin ich keine Freund davon, jede Menge Eigenschaften zu erzeugen, die am Ende nicht/selten genutzt werden.

Das gleiche Problem hab ich in grün bei Zeichnungen mit mehreren Blättern und unterschiedlichen Titeln/Beschreibungen. Am Ende hab ich das für mich so gelöst. Eine Art von Zeichnung ist  in einer Datei. Von daher kann es mehrere Zeichnungen für ein Bauteil/Baugruppe geben.

 

Wozu brauchen die Leute den Maßstab?

0 „Gefällt mir“-Angaben

Paula.N
Enthusiast
Enthusiast

Hallo zusammen,

 

also lassen wir mal Vault außen vor (das hatte ich nur als Beispiel genannt um den Sinn zu erklären).

Nochmal zurück zur eigentlichen Frage:

Lassen wir auch mal die Schleife für die die Maßstäbe der anderen Blätter weg
Wie kann man mit iLogic den Maßstab der Erstansicht (Blatt 1) ermitteln, diesen in eine User-iProperty schreiben welche auf dem Schriftkopf platziert ist, und sobald man den Maßstab der Erstansicht (Blatt 1) ändert die User- iProperty autom. aktualisiert wird (genau so wie es der 'Anfängliche Ansichtsmasstab' ja auch macht).
Im Prinzip müsste es eine Funktion sein wie 'Schriftkopf Properties aktualisieren' bei Änderung der Erstansicht (Maßstab).

Und macht euch keine Gedanken darüber ob man den Maßstab braucht oder nicht und ob das Sinn macht. Und vergesst das mit Vault.

 

Danke euch

0 „Gefällt mir“-Angaben

Dominik.Janshoff
Collaborator
Collaborator

Vielleicht machen sich Leute die Gedanken, weil es keine von dir angestrebte Lösung gibt. Und mit den Gedanken kann man vielleicht alternative Lösungsmethoden aufzeigen, welche du nicht auf dem Schirm hattest.

 

Um aber deine Frage konkret zu beantworten. Nein, soweit ich weiß ist das nicht möglich.

 

Das sind die Ereignisse, welche in einer Zeichnung einen interne iLogic Code triggern können.

DominikJanshoff_0-1695207009931.png

 

 

Für externe Regeln sind es noch ein paar weniger.

DominikJanshoff_1-1695207009933.png

 

 

Wenn da nichts für dich dabei ist, hast du mit iLogic schlechte Karten!

 

Viel Erfolg!

0 „Gefällt mir“-Angaben