| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: SE API... (2280 mal gelesen)
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012
|
erstellt am: 11. Sep. 2003 09:27 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, ich habe wieder ein Paar Fragen die möglicher Weise einem erfahrenem SE User dumm erscheinen, aber zu meiner Verteidigung muss ich sagen, dass ich mich erst seit 2 Tagen mit SE befasse. - Der Befehl Bauteil platzieren ist nur über EdgeBar (Doppelklick / Drag&Drop) aufrufbar ? - Kann ich den Befehl Bauteil platzieren über API erreichen ? Ich generiere ein Bauteil und speichere es ab. Ich möchte aber das Bauteil in einer Baugruppe platzieren. Im Moment ist es so, dass ich das Teil einfach über oAsm.Occurrences.AddByFileName einfüge, aber so wird es immer auf den Baugruppen Ursprung eingefügt. Danach habe ich mir gedacht, nach dem Speichern, manipulierst du den Pfad des EdgeBares, so dass das neu erstellte Teil gleich in dem Browser sichtbar ist und nur in die Baugruppe rübergezogen werden muss. Dazu auch eine Frage: -gibt es eine Eigenschaft über die ich den Pfad für EdgeBar / Teil Bibliothek beinflussen kann ? Ich habe da schon einen Weg gefunden, nur erscheint mir der nicht sehr elegant. In der Registry wird ein Schlüssel erzeugt: HKEY_CURRENT_USER\Software\Unigraphics Solutions\Solid Edge\Version 14\Libary\PartLibaryFolder Darin wird der aktuelle Pfad für das Teil Bibliothek gespeichert. Wenn ich nun den Pfad an meine Bedürfnisse anpasse, und den EdgeBar ausblende und wieder einblende (was alles mit natürlich API möglich ist), habe ich dann auf der rechten Seite mein neu erstelltes Teil sichtbar und kann es gleich rüberziehen, ohne es erst suchen zu müssen. Ja, ich weiss: Indianer Tricks, aber die funktionieren. Kennt jemand eine andere Lösung ? ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
edlich Mitglied Maschinenbautechniker
Beiträge: 95 Registriert: 15.06.2001 SE St4/Sp4 Win 7 Xeon W3550 (4Core,3,07GHz) Quadro 4000
|
erstellt am: 11. Sep. 2003 10:33 <-- editieren / zitieren --> Unities abgeben: Nur für daywa1k3r
Hallo, die Bauteile werden in SE mit Occurrences.AddByFileName fixiert eingebaut, dann wird die Fixbeziehung gelöscht und die Beziehungen zu den jeweiligen Baugruppenteilen erstellt. Im ProgrammersGuide (zu erreichen über Hilfe/Programmieren mit SE) ist ein Beispiel vorhanden. Gruss Detlef Edlich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002
|
erstellt am: 11. Sep. 2003 10:49 <-- editieren / zitieren --> Unities abgeben:
Hallo edlich, danke für deine Antwort, aber: Zitat:
daywa1k3r wrote ......Im Moment ist es so, dass ich das Teil einfach über oAsm.Occurrences.AddByFileName einfüge...
Wie schon gesagt, so mache ich es bereits, und suche aber die Möglichkeit, es so zu machen wie es über die Benutzer Oberfläche im SE auch möglich ist. ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 11. Sep. 2003 11:57 <-- editieren / zitieren --> Unities abgeben: Nur für daywa1k3r
Hallo daywa, ein einfache Möglichkeit ist es, das eingefügte Teil ins Clipboard zu kopieren, in SE wieder zu löschen und vom Clipboard einzufügen. Du kannst es manuell nachvollziehen, wenn du beim ersten Einfügen die Umschalttaste gedrückt hältst. Wenn du nicht gerade große Baugruppen einfügst, ist es ein akzeptabler "Indianertrick". Eine elegantere Lösung gibt es mit dem seAssemblyPlacePartCommand. Ich sende dir meine Testversion, das Kommando gab es bis zur V8 (das zugehörige Icon gibt es noch unter "Symbolleisten - Teil platzieren"), die Funktionalität wurde aber bis jetzt (mit V12 getestet) in der API gelassen. HTH pablo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer Lwr Mitglied Dipl.Ing.Konstruktion
Beiträge: 541 Registriert: 21.10.2002 SE ST7 MP9; Intel i5-3470, 3,20GHz 8GB RAM; AMD FirePro V4900 ERP: Pro-Alpha / CA-Link
|
erstellt am: 11. Sep. 2003 12:25 <-- editieren / zitieren --> Unities abgeben: Nur für daywa1k3r
Hey, ich füge die Teile gerne über den Explorer ein. Teil auswählen, rüberziehen in SE und fallenlassen. Anschließend Beziehungen vergeben. Mit gedrückter Shift-Taste wird das Teil ohne Beziehungen an der Curser-Position fallengelassen, mit gedrückter Strg-Taste wird es im Ursprung fixiert. tschau Rainer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002
|
erstellt am: 11. Sep. 2003 14:02 <-- editieren / zitieren --> Unities abgeben:
@pablo Einwandfrei Genau das was ich gesucht habe! Vielen Dank! @Reiner Lwr Ist auch interessant, und ich werde die Funktion optional anbieten. Wie oben erklärt, habe ich es schon soweit programmiert. Danke! Noch ne Frage am Rande... Ich lade immer eine Prototyp Datei, danach gehe ich die Parameter durch und passe die gleichen an, und anschliessend füge ich das angepasste Teil in die Baugruppe ein. Und jetzt die Frage: - ist es möglich das Teil im Einzelteilmodus mit Visible = False aufzumachen ? Das nervt tierisch, wenn während der Anpassung der Part Fenster aufgeht, und anschliessend wieder zu. ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kurakin Mitglied
Beiträge: 80 Registriert: 22.02.2002 Intel 2,8 GHz, 1 GByte Ram, 128 MB NVIDIA GeForce4 Ti 4200. Win 2000 Pro SP3, SE V15 (R.I.P. ACAD 2000i) Rache ist ein Gericht, das am besten kalt serviert wird (Kill Bill, Vol.1)
|
erstellt am: 11. Sep. 2003 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für daywa1k3r
Hallo, wenn aich das richtig verstanden habe,dann habe ich folgende Empfehlung. Unter Extras - Variablen gibt es die Peer-Variablen. Du brauchst den Befehl zu starten, klickst da zu verändernde Teil an und es erscheint eine Tabelle mit allen geometrischen Werten. Wenn du mit dem Kursor über einen bestimmten Wert gehst, dann blendet er im Assembly ein, welcher das ist, damit du nichts falsches änderst. Dann brauchst du das Part nicht aufzurufen. Voraussetzung ist, daß du die Sachen bemaßt, die du im Teil erstellst. Und die Einstellunge in der Tabelle müssen so, wie auf dem Bild sein. Hope it helps. Gruß Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2019
|
erstellt am: 11. Sep. 2003 21:19 <-- editieren / zitieren --> Unities abgeben: Nur für daywa1k3r
Zitat: Original erstellt von daywa1k3r: Und jetzt die Frage:- ist es möglich das Teil im Einzelteilmodus mit Visible = False aufzumachen ? Das nervt tierisch, wenn während der Anpassung der Part Fenster aufgeht, und anschliessend wieder zu. [/B]
Hallo daywa, ich habe für diesen Zweck eine zweite Applikation im Hintergrund laufen lassen, mit beiden parallel zu arbeiten, hab ich noch nicht probiert. pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002
|
erstellt am: 12. Sep. 2003 08:20 <-- editieren / zitieren --> Unities abgeben:
@kurakin Leider nicht, aber trotzdem vielen Dank für die Bemühungen. @pablo Eine zweite Applikation macht mich schon ein wenig neugierig, aber im Prinzip bei mir überflüssig. Ja, mal schauen vielleicht lasse ich es so wie es jetzt ist. Funktionieren tut es ja. Bis bald... ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jürgen Niesner Mitglied
Beiträge: 505 Registriert: 26.11.2001
|
erstellt am: 15. Sep. 2003 06:29 <-- editieren / zitieren --> Unities abgeben: Nur für daywa1k3r
Hallo daywa1k3r, der Trick beim teilplatzoeren über API, ist dass man zuerst ein Commando startet und dann ein Ereignis abfangen muss, an das man den Dateinamen übergibt. Nimm diesen Code: Dim SelectedDokument As String Dim SEApp As SolidEdgeFramework.Application Dim WithEvents objFileUIEvents As FileUIEvents Private Sub cmdPlatzieren_Click() 'Teil platzieren Err.Clear On Error Resume Next Set SEApp = GetObject(, "SolidEdge.Application") If Err Then Exit Sub End If On Error GoTo 0 Set objFileUIEvents = SEApp.FileUIEvents Call SEApp.StartCommand(seAssemblyPlacePartCommand) SEApp.Visible = True Me.WindowState = vbMinimized Set SEApp = Nothing End Sub End Sub Private Sub objFileUIEvents_OnPlacePartUI(Filename As String, AppendToTitle As String) Filename = SelectedDokument AppendToTitle = "" Set objFileUIEvents = Nothing End Sub Jürgen ------------------ 50* SEV12SR9, 3* SEV14SR3 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012
|
erstellt am: 15. Sep. 2003 07:42 <-- editieren / zitieren --> Unities abgeben:
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002
|
erstellt am: 15. Sep. 2003 14:18 <-- editieren / zitieren --> Unities abgeben:
Hi, @Jürgen dein Beispiel scheint das gleiche zu sein wie das von Pablo. @All Ich habe trotzdem Schwierigkeiten es in meinen Code einzubinden. Folgendes Phänomen: Ich habe ebenfalls: Dim WithEvents objFUIE As FileUIEvents deklariert, und mein Problem ist schon die ganze Zeit, dass die Private Sub objFUIE_OnPlacePartUI(Filename As String, AppendToTitle As String) End Sub nicht durchläuft. Also such, such, such, ... Haufen Sachen gecheckt - alles OK. Letztendlich will ich die On Events von objFUIE prüfen und siehe da: OnFileInsertDialog OnFileIsertNewDialog OnFileNewDialog OnFileOpenDialog OnFileSaveAsDialog ??? Pablo's Beispiel objFUIE On Events: OnCreateInPlacePartUI OnFileNewUI OnFileOpenUI OnFileSaveAsImageUI OnFileSaveAsUI OnPlacePartUI ??? Porka Miseria !!! Was mach ich denn falsch ?!?! Hilfe, ich krieg schon Schweißausbrüche ! ------------------ Grüße daywa1k3r Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012
|
erstellt am: 15. Sep. 2003 16:46 <-- editieren / zitieren --> Unities abgeben:
|