Wiederherstellen der SolidWorks-Eigenschaft

Wie rufe ich den Wert einer Eigenschaft in Solidworks ab?

 

(der Befehl, um einen hinzuzufügen, lautet: swModel.AddCustomInfo3("", "Test", swCustomInfoText, "1") )

 

So setzen Sie dann eine Bedingung:

- Wenn der Wert von "Testversion" = 1

    Dann neue Eigenschaft: swModel.AddCustomInfo3("", "Reponse1", swCustomInfoText, "OK")

- Wenn der Wert von "Testversion" = 2 ist

    Dann neue Eigenschaft: swModel.AddCustomInfo3("", "Answer2", swCustomInfoText, "OK")

Ich weiß nicht, was Ihre SolidWorks Eigenschaften entsprechen, aber:

Sie können die Bedingungen über das Dienstprogramm "Smarpropertie" verwalten, Sie verwenden die Befehle "option" und/oder "conditional"


smarproperties.png

Ja, ich kenne SmartProperties.

Aber das ist etwas Besonderes... Ich muss ein Makro durchlaufen, bevor ich einen Smart erstelle.

Also suche ich nach dem "rohen" VBA-Code, um die Eigenschaft zu lesen.

Hallo

In der Tat, wie flegendre sagt, macht das Dienstprogramm "SmartProperties" dies sehr gut.

Sie können diese Art der Verarbeitung auch mithilfe der SolidWorks Funktion "Benutzerdefinierte Eigenschaften" erreichen, die Sie im Aufgabenbereich finden. aber es ist etwas komplizierter als "SmartProperties"!

Herzliche Grüße


proprietes_perso_sw.png

Drat! Gekreuzte Antwort.

Ja, danke, aber wie bereits erwähnt, ist es wirklich der VBA-Code (wie swModel.AddCustomInfo3), den ich suche

Verdammt, schon wieder gekreuzt...

1 „Gefällt mir“

Ich habe versucht:

 

Wenn swCustomPropertyNames("Testversion") = "1" dann
bRet = swModel.AddCustomInfo3("", "Antwort1", swCustomInfoText, "OK")
 
Aber es funktioniert nicht...

Hallo

 

Ich vermute, diese Anfrage hängt mit dieser hier zusammen:

 

http://www.lynkoa.com/forum/emplacement-fichiers-xml?page=1

 

Die letzte Antwort, die ich gegeben habe, hat Ihnen nicht geholfen?

Es fällt mir wirklich schwer zu verstehen, warum Sie unbedingt ein Makro durchlaufen möchten?

 

Ich weiß, das sind viele Fragen, aber wenn es dem Chmimblick helfen kann, voranzukommen...

 

@+

 

1 „Gefällt mir“

Ja, das hängt damit zusammen.

 

Meine Beobachtung ist einfach: Der SmartProperties-Link wird NUR entsprechend der Art des Raums verwaltet.

 

Also erstelle ich ein Makro, das die Eigenschaft "XmlPath" und damit den direkten Pfad der SmartPorperties entsprechend einer Eigenschaft ändert:)

 

Ich bin fast da, ich muss nur diese Bedingung erstellen (lesen Sie die Requisite, dann die neue Requisite)
Wenn du mir helfen kannst

Hallo

 

 

Um eine Eigenschaft abzurufen, lautet die Anweisung:

                SWmoddoc. GetCustomInfoValue("", "code")


Wir erhalten die Eigenschaft "code" in der VBA-Variablen "CODE", wobei SWmoddoc Ihr aktives Dokument darstellt (Set SWmoddoc = swApp.ActiveDoc).

 

Für die grundlegenden Makroanweisungen empfehle ich Ihnen, das Tutorial, das ich erstellt habe und das für jede Zeile kommentiert wird, sorgfältig zu lesen:

 

http://www.lynkoa.com/tutos/3d/macro-enregistrer-sous-avec-solidworks

 

Re

 

Aber es hängt nicht nur mit der Art des Teils zusammen (in meinem Beispiel ist es der Fall), sondern ich spreche von einer Eigenschaft, die ein XMl antreibt und mir scheint, dass es das ist, was Sie wollen!

Diese Eigenschaft kann beliebig sein, nicht ALS die Art des Teils...

 

Oder ich verstehe wirklich NICHTS von der Frage!

 

@+

Mit einem Bild..


smartproperties2.jpg

@Coyote: Ja, derzeit verwende ich Ihre Dropdown-Methode, um den XML-Code auszuwählen.
Aber es ist den Nutzern nicht klar...

Wenn Sie beispielsweise ein Teil herstellen, können Sie in dieser Liste "PieceCommerce" und "PieceManufactured" einfügen. Und wenn Sie den Smart auf den Markt bringen, treffen Sie Ihre Wahl. Und dass jedes Mal, wenn Sie es neu starten...

 

Durch das Durchlaufen einer Vorlage (in der die Eigenschaft "PieceCommerce" dauerhaft eingetragen ist) wird der Smart-Gutschein automatisch und jedes Mal gestartet. Und darüber hinaus ist es für den Benutzer blind. 

Ha Ok, es ist klar, ich verstehe das Bedürfnis viel besser.

 

Nun, ich versuche zu sehen, ob ich die richtige Lösung finde.

 

@+

A priori funktioniert es an der Spitze

 

CODE = SWmoddoc. GetCustomInfoValue("", "code")

 

Sobald es fertig ist, versuche ich, das Ergebnis in das andere Thema einzuordnen, wenn die Leute interessiert sind

1 „Gefällt mir“

Ja, ich interessiere mich für Ihr thewarner-Makro  !

Bitte lassen Sie es mich wissen, wenn es verfügbar ist.

Verfügbar

 

(aber es ist eigentlich ganz einfach...)