| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
| |
| UNITEC wird offizieller Systemintegrator von AVEVA, eine Pressemitteilung
|
Autor
|
Thema: Anpassen von Part-Vorlagen (1446 / mal gelesen)
|
Tommes01 Mitglied Konstrukteur
Beiträge: 808 Registriert: 21.02.2003 Solid Edge 2021 MP4 NX 1953
|
erstellt am: 25. Okt. 2018 14:12 <-- editieren / zitieren --> Unities abgeben:
Wir wollen uns Vorlagen für häufig benötigte Teile intelligent aufbauen. Diese Parts sollen über Variablen innerhalb des Parts gesteuert werden. Was mir jetzt fehlt ist eine userfreundliche Änderungsmöglichkeit dieser Variablen. Am liebsten wäre mir eine Eingabemaske für die benötigten Maße. So dass der User nicht in die (unübersichtliche) Variablentabelle muss. Gibt es sowas schon, oder kann man sowas per Makro programmieren? Gruß Tommes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wolha Moderator CAD - Consultant
Beiträge: 5685 Registriert: 30.01.2002 Win 11 Pro Solid Edge 2023 CAMWorks Primus PDM FEMAP Dynamic Designer Teamcenter
|
erstellt am: 25. Okt. 2018 20:37 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
|
Trekki Mitglied Konstrukteur
Beiträge: 689 Registriert: 10.02.2004 Win 10 Pro, SE 2023 MP7 - Intel(R) Xeon(R) E-2174G CPU @ 3.80GHz, 16GB RAM, Nvidia Quadro P2000, Spacemouse Pro
|
erstellt am: 26. Okt. 2018 07:16 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
Hallo Tommes, definiere einfach Eingabevariablen in der Variablentabelle, die Variablen der eigentlichen Ausprägungen werden dann mit den Eingabevariablen verknüpft. Hat den Vorteil das man dass mit Beschreibungen gut verdeutlichen kann. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7467 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 26. Okt. 2018 08:01 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
Ein kleines Programm mit den Variablen in einem Dialogfeld ist recht schnell gemacht. Man könnte das auch ganz universell gestalten. - Die Varaiblen werden einheitlich benannt mit fortlaufender Nummer. - Dann könnte man die Variablen einfach filtern und automatisch auslesen und zurückschreiben, ganz gleich, was für ein Teil dahintersteht. ------------------ Arne [Diese Nachricht wurde von Arne Peters am 26. Okt. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tommes01 Mitglied Konstrukteur
Beiträge: 808 Registriert: 21.02.2003 Solid Edge 2021 MP4 NX 1953
|
erstellt am: 26. Okt. 2018 08:43 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank euch für die Antworten. @Wolfgang und Thomas: Eure Vorschläge hatte ich umgesetzt. Für manche User ist es aber schon zuviel mit der Variablentabelle zu arbeiten. @Arne: Wäre es vermessen zu fragen, ob du mal so ein kleines Progrämmchen erstellen könntest? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tommes01 Mitglied Konstrukteur
Beiträge: 808 Registriert: 21.02.2003 Solid Edge 2021 MP4 NX 1953
|
erstellt am: 29. Okt. 2018 11:58 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Arne Peters: ... Man könnte das auch ganz universell gestalten. - Die Varaiblen werden einheitlich benannt mit fortlaufender Nummer. ...
Vielleicht ginge das auch, wenn das Programm nur die "Benutzervariablen" ausliest. Somit hätte man auch einen sinnvollen Namen für die Eingabemaske.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7467 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 29. Okt. 2018 12:28 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
Grundsätzlich Ja. Ich hatte auch schon mal probiert. Ich habe keine Probleme, Werte in Variablen zu schreiben. Aber irgendwie hänge ich beim Zugriff auf die vorhandenen Variablen. Ich bekomme einen Fehler, wenn ich den Namen einer Variablen abfrage. Der "Expose Name" hingegen macht kein Problem. Ich weiß im Moment nicht, ob der Fehler bei mir oder in der APi liegt. ------------------ Arne Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wolha Moderator CAD - Consultant
Beiträge: 5685 Registriert: 30.01.2002 Win 11 Pro Solid Edge 2023 CAMWorks Primus PDM FEMAP Dynamic Designer Teamcenter
|
erstellt am: 29. Okt. 2018 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
Zitat: Original erstellt von Arne Peters: Grundsätzlich Ja.Ich hatte auch schon mal probiert. Ich habe keine Probleme, Werte in Variablen zu schreiben. Aber irgendwie hänge ich beim Zugriff auf die vorhandenen Variablen. Ich bekomme einen Fehler, wenn ich den Namen einer Variablen abfrage. Der "Expose Name" hingegen macht kein Problem. Ich weiß im Moment nicht, ob der Fehler bei mir oder in der APi liegt.
Hallo Arne,
vermutlich dann doch im Code selber. Ich habe einige Makros laufen, die direkt in die Variablentabelle eingreifen und entweder vorhandeen Variablen ändern oder neue anlegen.
Die Abfrage - das gebe ich gerne zu - ist nicht ganz sauber in der API definiert. Der Code ist dann immer annähernd so:
Public Sub SchreibeVariable(sVar As String, dWert As Double, vEinheit As Variant) On Error Resume Next SEPropSets.Item("Custom").Item(sVar).Delete Set SEVar = Nothing Set SEVar = SEVars.Item(sVar) Set ObjVars = objDoc.Variables.Query(sVar, seVariableNameByBoth, SeVariableVarTypeBoth) If ObjVars.Count = 1 Then ObjVars(1).Value = dWert ObjVars(1).Expose = True Else Call SEVars.Add(sVar, dWert, vEinheit) Set SEVar = SEVars.Item(sVar) SEVar.Value = dWert SEVar.Expose = 1 End If End Sub
------------------ mfg Wolfgang Hackl CAD/CAM - Consult Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7467 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 29. Okt. 2018 16:44 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
Ja, mit query kann es gehen. Ich gucke mal, wenn ich wieder etwas Zeit habe. So ganz verstehe ich es trotzdem nicht ich kann die Variables-Collection durchlaufen und kann den ExposeName ausgeben aber den Name nicht. Ändern könnte ich die Property NAME schon. Mit meinem Code ist es dann eine WriteOnly-Property.
------------------ Arne Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tommes01 Mitglied Konstrukteur
Beiträge: 808 Registriert: 21.02.2003 Solid Edge 2021 MP4 NX 1953
|
erstellt am: 21. Nov. 2018 10:56 <-- editieren / zitieren --> Unities abgeben:
|
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7467 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 21. Nov. 2018 13:27 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
Nee. Aber ich hab's nicht vergessen. Wie gesagt: ich hatte die Systematik erst nicht so erfasst. Auf einige Properties der Variables collection kann ich einfach zugreifen und auf andere nicht. Verstehe es wer wolle. Und ansonsten strampel ich so vor mich hin und hoffe, dass die Milch zu Quark wird. Und nächste WOche muss ich mal kurz auf meinen "Hausberg" Wie viele Werte sind es denn? Und hast Du eine Systematik in der Benennung? Viele Grüße Arne ------------------ Arne Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tommes01 Mitglied Konstrukteur
Beiträge: 808 Registriert: 21.02.2003 Solid Edge 2021 MP4 NX 1953
|
erstellt am: 21. Nov. 2018 14:21 <-- editieren / zitieren --> Unities abgeben:
Ich denke mehr als 10 Variablen werden es nicht werden. Systematik zur Benennung gibt es noch keine. Um aber eine bestimmte Reihenfolge erzeugen zu können würde ich vorne eine zweistellige laufende Nummer verwenden gefolgt von "_" und der eigentlichen Benennung. 01_Durchmesser 02_Länge 03_... Vielen Dank für deine Mühe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7467 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 21. Nov. 2018 17:09 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
OK. Ich gucke das mal an, wenn ich ne Pause brauche. Ich hatte da mal was gemacht, wo die ersten 10 Custom Props aufgelistet werden und bearbeitet. Das kann ich evzl für die ersten 10 Benutzervariablen umbauen. Sind's weniger, tauchen die Felder garnicht auf. Ich kann ja auf Deine Namessystematik aufsetzen. Aber ich glaube nich, dass ich vor'm Urlaub dazu komme. Wird ein Weihnachtsgeschenk. ------------------ Arne [Diese Nachricht wurde von Arne Peters am 21. Nov. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tommes01 Mitglied Konstrukteur
Beiträge: 808 Registriert: 21.02.2003 Solid Edge 2021 MP4 NX 1953
|
erstellt am: 22. Nov. 2018 07:31 <-- editieren / zitieren --> Unities abgeben:
|
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7467 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 22. Nov. 2018 16:25 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
Zitat: Original erstellt von Tommes01: [...] 01_Durchmesser 02_Länge 03_...Vielen Dank für deine Mühe.
Hast Du das schon mal gemacht? SE2019 weigert sich einen Namen mit einer Ziffer oder eienm Unterstrich vorne zu erstellen. Hinten dran geht's. Fazit: Fehlerhafte Prüfung Du könntest auch auf den "Offengelegten Namen" gehen. Muss auch nicht veröffentlicht sein. Es muss nur der Name drin stehen. ------------------ Arne Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7467 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 22. Nov. 2018 17:16 <-- editieren / zitieren --> Unities abgeben: Nur für Tommes01
Zitat: Original erstellt von Arne Peters: Auf einige Properties der Variables collection kann ich einfach zugreifen und auf andere nicht. Verstehe es wer wolle.
Wenn man eine Fehlerbeanhdlung vorschaltet, geht es. Es ist dann etwas zögerlich, man kann sich aber den Namen der Variablen ausgeben lassen. Es gibt da zwei Variablen, die nicht in der Liste auftauchen. Auf die hat man keinen Zugriff und scheitert deshalb. ------------------ Arne Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tommes01 Mitglied Konstrukteur
Beiträge: 808 Registriert: 21.02.2003 Solid Edge 2021 MP4 NX 1953
|
erstellt am: 23. Nov. 2018 08:09 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Arne Peters:
Hast Du das schon mal gemacht?
Hab es gerade probiert...geht auch unter ST9 nicht. Hab auch kein Problem mit dem Offengelegten Namen zu arbeiten. Nur hätte ich gerne eine Sortiermöglichkeit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |