Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Speichern der Auswahl im Strukturbaum

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

Anzeige:

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 Creo
Autor Thema:  Speichern der Auswahl im Strukturbaum (320 mal gelesen)
ThHauck
Mitglied



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

Beiträge: 12
Registriert: 01.03.2011

erstellt am: 16. Jan. 2024 11:20    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 mal wieder.

Über ein externes Programm (VBA) speichere ich jetzt schon pkg' mittels
save_package  :all_at_top :filename

Jetzt möchte ich es schaffen ein oder mehrere im Strukturbaum markierte Positionen zu speichern.
Wie bekomme ich die Auswahl zusammengestellt?

Etwas habe ich mit (get_selection) probiert aber kein Erfolg da ich mich da in den Tiefen der Auswahl auch nicht so auskenne.
Kann mir hier jemand weiterhelfen?

Danke schon mal

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

AlexG
Mitglied



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

Beiträge: 133
Registriert: 05.04.2013

CP/M; 6510@0,985249 MHz; 64KB RAM; 20KB ROM; MOS 6569

erstellt am: 16. Jan. 2024 15:31    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 ThHauck 10 Unities + Antwort hilfreich

Hi,

wenn ich dich korrekt verstanden habe, dann wird dir get_selection an dieser Stelle nicht viel helfen.

Um die im Strukturbrowser selektierten Nodes zu prozessieren, wirst du wahrscheinlich um eine Verwendung der Funktion

Code:
sd-query-browser
nicht umher kommen. Sollte aber gut umsetzbar sein, da an folgender Stelle gut, und mit Beispiel dokumentiert... schau dir zur Funktion den Parameter :get-selected-objects an. ;)

https://support.ptc.com/help/creo_elements_direct/r20.3.0.0/advanced_documentation//integration_kit/reference/gbrowser.html#sd-query-browser

Ist natürlich abhängig vom Kontext, aus welchem Browser die selektierten Nodes kommen. Eine Auflistung der vorhandenen Browser lässt sich mittels:

Code:
(sd-list-graphical-browsers)
ermitteln.


Grüße aus der Klingenstadt

    Alex

P.S.: *neugierig.frag* ... ich weiß zwar nicht was du vorhast, aber warum (zur Hölle) VBA? Reicht Lisp nicht aus? ... hab aktuell auch ein kleines VBA-Martyrium hinter mir und stehe immer noch unter Schock. 

------------------
Computer sind unbrauchbar. Sie können nur Fragen beantworten.
Pablo Picasso, Maler

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

ThHauck
Mitglied



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

Beiträge: 12
Registriert: 01.03.2011

erstellt am: 16. Jan. 2024 16:36    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

Danke erst mal für die Hinweise.
Habe versucht mich da mal in die Docu reinzulesen und paar Tests zu machen, so richtig habe ich da noch nichts hinbekommen :-(.
Ich schaue dann morgen mit klarerem Verstand noch mal.
Eigentlich will ich ja (nur) den Namen des Notes ermitteln um dies in dem save zu übermitteln. (also quasi die Auswahl der zu speichernden Objekte)

VBA benutze ich um in meinem ERP System den Dateinamen/Ablagepfad der zu speichernden pkg zu ermitteln und um dann diese Daten über DDE abzusetzen: z.B.
DDEExecute nChannelNumber, "(save_package  :all_at_top :filename """ & PadSpeichern & """)"

Das klappt so weit gut, aber manchmal möchte ich nicht die ganze Baugruppe speichern sondern nur einen Teil davon.
Bisher habe (uib:get-file-manager-objects) :by_box_vp_obj.... benutzt um das angezeigte Teil in der Oberfläche zu speichern aber das funktioniert wiederum nur für ein Einzelteil und nicht für eine Baugruppe (da zerstört es die Stuktur, was auch nachvollziehbar ist.

VBA ist quasi nur das Zusammenbasteln und Absetzen der DDE Anweisung.

Viele Grüße

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2152
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build10.0.19045.3693
● Drafting V17~V20.6
● Modeling V17~V20.6

erstellt am: 16. Jan. 2024 22:24    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 ThHauck 10 Unities + Antwort hilfreich

so halt:
Code:
(save_package :OBJECTS
  (delete-if-not 'oli::sel_item-p
    (mapcar 'oli::sd-pathname-to-obj
      (mapcar 'g-browser::BrowserNode-objPath
        (oli::sd-query-browser "parcel-gbrowser" :GET-SELECTED-OBJECTS))))
  :filename "c:/temp/saved_objs.pkg" :overwrite
  )
Ich denke via DDE gibt man besser das Package:: explizit an.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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

ThHauck
Mitglied



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

Beiträge: 12
Registriert: 01.03.2011

erstellt am: 17. Jan. 2024 10:13    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

Vielen Dank für die Hilfe,
hat mir so viel Zeit gespart.

Funktioniert sehr gut, man muss nur aufpassen, das man auch wirklich was ausgewählt hat. (und auch nicht die oberste Ebene /)
Ansonsten kommt eine Fehlermeldung und das System rödelt dann ne ganze Weile und scheint auch irgendwie ein event. vorhandenes PKG zu überschreiben.
Aber ehe wir hier noch mehr Zeit reinstecken muss ich da die Mitarbeiter entsprechen unterweisen.
 

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2152
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build10.0.19045.3693
● Drafting V17~V20.6
● Modeling V17~V20.6

erstellt am: 17. Jan. 2024 21:16    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 ThHauck 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von ThHauck:
Vielen Dank für die Hilfe,....
Funktioniert sehr gut, man muss nur aufpassen,  

Prima.

ja ich würde auch auf Modeling Seite ne eigene Funktion schreiben

Code:
(defun safe-selected-objects-to-pkg () ....)

dann kannst du erst checken ob was selektiert wurde, ausserdem musst du noch features und pseudo folder aussortieren. Das machst du alles in der funktion und dann zum schluss nen...

Code:
(if good-selected-objects
(save_package :objects ... :filename ....)
;; else
(sd-display-error "lerne zu selektieren! :-p")
)
Aber jetzt hast du erstmal nen funktionierenden Ansatz.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2152
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build10.0.19045.3693
● Drafting V17~V20.6
● Modeling V17~V20.6

erstellt am: 30. Jan. 2024 13:48    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 ThHauck 10 Unities + Antwort hilfreich

Elegant:

oder klassisch:

download: https://ww3.cad.de/foren/ubb/uploads/der_Wolfgang/cadde-92-001032a.lsp

In beiden Varianten könnte man jetzt noch duplicates entfernen, aber ich denke das macht in diesem Fall der save Befehl schon selber.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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 | CAD.de-Newsletter

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

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

(c)2024 CAD.de | Impressum | Datenschutz