Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Creo Elements/Programmierung
  Modeling : get_selection mit Baugruppennamenprüfung

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
  
Behalten Sie Ihre IT-Sicherheit im Überblick, eine Pressemitteilung
Autor Thema:  Modeling : get_selection mit Baugruppennamenprüfung (548 mal gelesen)
Martin.M
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 352
Registriert: 05.10.2002

erstellt am: 04. Dez. 2007 08: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

Hallo,

ich suche Baugruppen deren Name ein Zeichen vor dem Ende ".stl" enthält. Das funktioniert mit dem get_selection-Befehl unten auch meistens, aber nicht immer.

Durch die Fehlerbehandlung von sdcalls läuft das Macro zwar weiter, aber die Baugruppen fehlen dann.

Kann ich an dem get_selection Befehl noch etwas ändern damit es bei allen Baugruppen funktioniert oder muss ich rausfinden warum es bei den Baugruppen nicht funktioniert ?

Oder hilft es alles nicht und ich muss die Suche komplett anders schreiben ?

(setf BG-lst (sd-call-cmds (get_selection :focus_type *sd-assembly-seltype*
                                :check_function
                                #'(lambda (si)
                                    (let ()
                                      (if (string= ".stl" (subseq (SD-INQ-OBJ-BASENAME  si) (- (length (SD-INQ-OBJ-BASENAME  si)) 5 ) (- (length (SD-INQ-OBJ-BASENAME  si)) 1 )))
                                          : ok
                                          :filter
                                        );;if
                                      );;let
                                    );;lambda
                                  :select :recursive :in_assembly BGL)
          :failure (display "Stuecklistenbaugruppen dieser Hauptbaugruppe werden nicht exportiert !!")
  )
)

Tschuess
Martin

------------------
OSDM - Die freie Wissensdatenbank
OneSpaceManager Forum

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

clausb
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2914
Registriert: 20.12.2000

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

erstellt am: 04. Dez. 2007 08: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 Nur für Martin.M 10 Unities + Antwort hilfreich

Ist das nicht offensichtlich? Ich sehe spontan mindestens zwei Fehler - drei, wenn Du noch eine Version vor v15 benutzen solltest.

Die ersten beiden Fehler sind, dass Du zweimal Dich darauf verlaesst, dass die Strings eine Mindestlaenge haben.

Claus

------------------
CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/

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

Martin.M
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 352
Registriert: 05.10.2002

erstellt am: 04. Dez. 2007 11:08    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 Claus,

vielen Dank für den Hinweis. Dadurch konnte ich den Abbruch von get_selection beseitigen.
Mir fehlt wohl noch Programmiererfahrung um solche "offensichtlichen" Fehler zu erkennen. 


(setf BG-lst (sd-call-cmds (get_selection :focus_type *sd-assembly-seltype*
                                :check_function
                                  #'(lambda (si)
                                        (let ()
                                          (setf BN (format NIL "xxxxx~A" (SD-INQ-OBJ-BASENAME  si)))
                                          (if  (string= ".stl" (subseq BN (- (length BN) 5 ) (- (length BN) 1 )))
                                                : ok
                                                :filter
                                          );;if
                                        );;let
                                      );;lambda
                                :select :recursive :in_assembly BGL)
      :failure (display "Stuecklistenbaugruppen dieser Hauptbaugruppe werden nicht exportiert !!")
    )
)


Tschuess
Martin

------------------
OSDM - Die freie Wissensdatenbank
OneSpaceManager Forum

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

clausb
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2914
Registriert: 20.12.2000

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

erstellt am: 04. Dez. 2007 12: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 Nur für Martin.M 10 Unities + Antwort hilfreich

Eventuell koenntest Du fast den gesamten Code auch durch einen einzigen Aufruf von sd-string-match-pattern-p ersetzen. Beispiel:

Code:

  (sd-string-match-pattern-p "*.stl" name)

Details zu dieser Funktion gibt es in der IKIT-Dokumentation.

Claus

------------------
CoCreate OneSpace Modeling FAQ: http://www.clausbrod.de/OneSpaceModeling/

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)2025 CAD.de | Impressum | Datenschutz