Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  check_part hat immer :failure

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:  check_part hat immer :failure (925 / mal gelesen)
Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 27. Jul. 2020 15:49    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 würde gerne Teile checken und als Ergebnis bekommen ob die Teile ok, oder nicht ok sind.
Dazu gibt es in der Docu auch diese Zeilen, nur bekomme ich immer :failure heraus auch wenn das Teil ok ist.

Hat da jemand schon mal einen funktionierenden Code geschrieben.

Code:

  (oli::sd-call-cmds (k2-ui::check_part  bjects "/Teilename"
                                        :maximal_check
                                        :verbose  n
                    )
                    :success
                            (progn
                              (display *sd-action-result*)
                              (display "Success")
                            )
                    :failure
                            (progn
                              (when (sd-inq-error-obj  bject)
                                (display (sd-inq-error-obj :message))
                              )
                              (display "Failure")
                            )
  )


------------------
Gruß Peter

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

Seele
Mitglied
Konstrukteur


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

Beiträge: 364
Registriert: 11.06.2003

Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM
NVidia Quadro RTX A4000
Win10-64Bit
Elements/Direct v20.5.1.0
PartLibrary, Surfacing, 3D-PDF,
3D-Access, Unigraphics-Schnittstelle

erstellt am: 29. Jul. 2020 11:26    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 Greskamp 10 Unities + Antwort hilfreich


SW-Pruefen-Makro.lsp

 
Hallo Peter, ...

Ich hab mir das Problem mal kurz angesehen und das kleine LISP draus gebastelt.

Ich hoffe dass es Dir hilft.

Mir fiel auf, dass deine Original Routine immer Success als Rückmeldung lieferte, also wurde vermutlich nur kontrolliert, ob der Befehl sauber durchlaufen wurde, unabhängig vom Ergebnis.
Deswegen habe ich das *sd-action-result* ausgewertet und siehe da, mit Fehler steht was drin, ohne Fehler kommt "nil" zurück und das kann man dann auswerten.

Gruß Wolfgang 

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

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

Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 31. Jul. 2020 10:03    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 Wolfgang,
man vielen Dank, da hast du mir schon mal weiter geholfen.
Ich war in Lisp auch schon mal besser, ist leider alles etwas eingeschlafen.
Leider möchte ich das nicht über einen Dialog aufrufen, sondern bräuchte das eher als defun.

Aber dann kommt der ****** immer mit dem "Unlässiger Aufruf einer Aktionsroutine" was wohl was mit dem "sd-call-cmds" zutun hat. Ich bekomms nicht hin.

Ich habe auch immer nur Einzelteile drin, die sind ja dann aktiv, da muss ich dann auch kein Teil auswählen.

Code:

(defun Ausfuehren ()
(sd-call-cmds (k2-ui::check_part
:objects
:maximal_check
:labels :off
:minimal_edge :off
:voids :off
:knife_edges :off
:max_number_control_points :off
:verbose :off
:warnings :off
:NO_DISPLAY_BOX :off
)
:success
(progn
(setq Ergebnis *sd-action-result*)
)

)

(if (equal Ergebnis nil)
(DISPLAY "Das Teil ist OK. Alles Wunderbar")
(Display "Das Teil ist Beschädigt, so was machst Du jetzt." )
)
)


------------------
Gruß Peter

[Diese Nachricht wurde von Greskamp am 31. Jul. 2020 editiert.]

[Diese Nachricht wurde von Greskamp am 31. Jul. 2020 editiert.]

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

Seele
Mitglied
Konstrukteur


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

Beiträge: 364
Registriert: 11.06.2003

Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM
NVidia Quadro RTX A4000
Win10-64Bit
Elements/Direct v20.5.1.0
PartLibrary, Surfacing, 3D-PDF,
3D-Access, Unigraphics-Schnittstelle

erstellt am: 31. Jul. 2020 11:12    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 Greskamp 10 Unities + Antwort hilfreich


SW-Pruefen-Makro.lsp

 
Hallo Peter, ...

hier der Anhang gelöst über ein Defun-Unterprogramm.

Dein Fehler war vermutlich, weil du hinter  bjects kein Teil angegeben hast.
Entweder du lässt "Teil" drin und du übergibst beim Aufruf (sd-call-cmds (SW::SW_Teil_pruefen current_part) )

Oder du gibst innerhalb des Defun als Object current_part an.

Schöner finde ich, wenn du es beim Aufruf mit übergibst, dann bleibst du flexibler.

Gruß Wolfgang 

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

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

Seele
Mitglied
Konstrukteur


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

Beiträge: 364
Registriert: 11.06.2003

erstellt am: 31. Jul. 2020 11: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 Greskamp 10 Unities + Antwort hilfreich


SW-Pruefen-Makro.lsp

 
Hallo Peter, ...

hier der Anhang gelöst über ein Defun-Unterprogramm.

Dein Fehler war vermutlich, weil du hinter  bjects kein Teil angegeben hast.
Entweder du lässt "Teil" drin und du übergibst beim Aufruf (sd-call-cmds (SW::SW_Teil_pruefen current_part) )

Oder du gibst innerhalb des Defun als Object current_part an.

Schöner finde ich, wenn du es beim Aufruf mit übergibst, dann bleibst du flexibler.

Gruß Wolfgang 

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

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

Seele
Mitglied
Konstrukteur


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

Beiträge: 364
Registriert: 11.06.2003

Intel(R) Xeon(R) W-2245 CPU @ 3,90 GHz, 64GB RAM
NVidia Quadro RTX A4000
Win10-64Bit
Elements/Direct v20.5.1.0
PartLibrary, Surfacing, 3D-PDF,
3D-Access, Unigraphics-Schnittstelle

erstellt am: 31. Jul. 2020 11: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 Greskamp 10 Unities + Antwort hilfreich


SW-Pruefen-Makro.lsp

 
Hallo Peter, ...

hier der Anhang gelöst über ein Defun-Unterprogramm.

Dein Fehler war vermutlich, weil du hinter  bjects kein Teil angegeben hast.
Entweder du lässt "Teil" drin und du übergibst beim Aufruf (sd-call-cmds (SW::SW_Teil_pruefen current_part) )

Oder du gibst innerhalb des Defun als Object current_part an.

Schöner finde ich, wenn du es beim Aufruf mit übergibst, dann bleibst du flexibler.

Gruß Wolfgang 

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

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

Seele
Mitglied
Konstrukteur


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

Beiträge: 364
Registriert: 11.06.2003

erstellt am: 31. Jul. 2020 11:19    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 Greskamp 10 Unities + Antwort hilfreich


SW-Pruefen-Makro2.lsp

 
Irgendwas ist jetzt falsch gelaufen, hier nochmal der Anhang.

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

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

Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

MS: Windows 10 64bit
OSD: 20.1 M020
ModelManager: 20.1 M020
NX 1899
TC 12.3

erstellt am: 31. Jul. 2020 11:40    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

Ich bin dir echt dankbar, aber ohne diesen Fensteraufruf kommt bei mir immer die Fehlermeldung mit dem Aktionsaufruf.

Warum kann ich nicht einfach diese defun definieren:

Code:

(defun Teil_pruefen (Teil)
(sd-call-cmds (k2-ui::check_part :objects Teil
:maximal_check
:labels :off
:minimal_edge :off
:voids :off
:knife_edges :off
:max_number_control_points :off
:verbose :off
:warnings :off
:NO_DISPLAY_BOX :off
)
:success
(progn
(setq Ergebnis *sd-action-result*)
)

);Prüfroutine
(DISPLAY :clear)

(if (equal Ergebnis nil)
(DISPLAY "Das Teil ist OK. Alles Wunderbar")
(Display "Das Teil ist Beschädigt, so was machst Du jetzt." )
);endif

);defun


und dann über

Code:

(sd-call-cmds (Teil_pruefen (sd-inq-curr-part)))

aufrufen, das geht bei mir nicht

------------------
Gruß Peter

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

Seele
Mitglied
Konstrukteur


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

Beiträge: 364
Registriert: 11.06.2003

erstellt am: 31. Jul. 2020 11:55    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 Greskamp 10 Unities + Antwort hilfreich

und dann über

    Code:
    (sd-call-cmds (Teil_pruefen (sd-inq-curr-part)))

aufrufen, das geht bei mir nicht.

Um deine Defun-Routine aufzurufen musst du doch das PKG in welches du es eingelesen hast voranstellen, denke ich.
Aufruf sollte ungefähr so aussehen:

(sd-call-cmds (SW::SW_Teil_pruefen current_part) )

wobei das voran gestellte "SW::" dem Paket entspricht indem sich deine Defun Routine befindet.

Es kommt also darau an, was Du hier definiert hattest, ...

(in-package  :SW)

als Du das Defun geladen hast.

Gruß Wolfgang 

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

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: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 01. Aug. 2020 16:32    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 Greskamp 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Seele:
also wurde vermutlich nur kontrolliert, ob der Befehl sauber durchlaufen wurde, unabhängig vom Ergebnis.
Deswegen habe ich das *sd-action-result* ausgewertet und siehe da, mit Fehler steht was drin


Dafür mal volle PunktZahl!  --  hatte die Frage letzte Woche auch noch gelesen aber nix laufen lassen, probiert.

Ja, sd-call-cmds ist dafür da Unzulänglichkeiten / Ausnahme Situationen in der DURCHFÜHRUNG programmatisch abfangen zu können. Ob (bei erfolgreicher Ausführung) hinten ein neues Teil dabei rausfällt, oder ein Braugruppe (gewünschter weise) gelöscht wird, oder nur ein Einzeiler in die console geschrieben wird ist dem sd-call-cmds egal.

Vergleich: es dient dazu zu checken ob du ohne Unfall von A nach B gekommen bist.

Ob du dabei saumäßig aufs Pedal getreten hast oder Sprit-sparent mit 120km/ locker mitgschwommen bist, interessiert sd-call-cmds nicht.  Wenn du die C02 Belastung dieser Fahrt erfahren willst, musst du einen 2. Stelle fragen.

Theoretisch hat Deinen (angedachte Routine) also DREI Ausgänge:

  • Durchführung ok, Teil in Ordnung
  • Durchführung ok, Teil nicht in Ordnung
  • Durchführung FLASHC

Zusätzlich kann eine action routine auch noch einen return value haben. Den bekommst du dann in die Hand mit dem (setq result (sd-call-cmds ratatata)))

------------------
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: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 01. Aug. 2020 16:54    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 Greskamp 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Greskamp:
und dann über
Code:
(sd-call-cmds (Teil_pruefen (sd-inq-curr-part)))


Aufrufen über

Code:
(SW-Pruefen-Makro :teil (oli:sd-inq-curr-part))
Du rufst also (in der command line) den Hilfsdialog auf, der intern den sd-call-cmds ausführt.
_____________________________________________________________

@Wolfgang:
Du hast da 2 mal sd-call-cmd drin . 

Code:
  :after-input (progn (sd-call-cmds (SW::SW_Teil_pruefen Teil) ) (setq Teil nil) )
und dann noch in der funktion
Code:
(sd-call-cmds (k2-ui::check_part ...

den ersten brauchst du nicht    (tut in dem fall aber auch nicht weh)

Und noch mehr LISP Senf dazugebend (wolfgang2wolfgang)

  • (SW::SW_Teil_pruefen...) -- die extra Angabe des lisp package ist unnötig, wir SIND ja genau in dem Package
  • (setq Teil nil) -- ist unnötig.
  • ich hätte die Aktion eher in der :Ok-action gemacht und nicht im :after-input
  • oderaber du machst nen sequential loop dialog draus, dann ist :after-input natürlich richtig.
  • (use-package ':Oli)  -- das Quote gehört da nicht wirklich hin.  NeNeNeee

------------------
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: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 01. Aug. 2020 17: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 Nur für Greskamp 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Greskamp:
und dann über....aufrufen, das geht bei mir nicht

Frage: VON WO willst du das aufrufen?  Hast du da noch was drum rum? Was?

------------------
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

Seele
Mitglied
Konstrukteur


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

Beiträge: 364
Registriert: 11.06.2003

erstellt am: 02. Aug. 2020 11:27    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 Greskamp 10 Unities + Antwort hilfreich

Hallo Wolfgang, ....

danke für deine Ratschläge, ich bin halt immer noch der LISP-Laie.
Momentan mach ich lieber einen sd-call-cmds mehr rein, als wieder einen Abbruch des Makro zu riskieren. (Schäm mich, ... ) 

Ich habe mir auch nicht viel Zeit bei meinem LISP-Schnipsel genommen, wollte Peter nur schnell helfen, ...  I

Ich verstehe momentan auch Peter´s Problem nicht ganz, weil bei mir der LISP-Schnipsel auch mit dem Aufruf der DEFUN-Routine tadellos arbeitet, auch wenn die Programmierung nicht 100%ig sauber ist/sein sollte. 

Im After-Input habe ich den Befehlsaufruf deswegen reingeschrieben, weil sich dadurch eine Schleife aufmacht und ich ein Teil nach dem anderen auf dem Bildschirm anklicken kann und somit ein Ergebnis nach dem anderen geliefert bekomme ohne ständig den Befehl neu starten zu müssen.

Ohne zusätzliche Info´s verstehe ich jedenfalls momentan das Problem nicht, welches ja vermutlich existiert.

Gruß Wolfgang -> Wolfgang
Gruß Wolfgang -> Peter

 

------------------
alles ist möglich, nichts funktioniert und trotzdem muß es bis morgen geschafft sein. 

Werden wir es schaffen? Ja wir schaffen das !!! :-)

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

Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

MS: Windows 10 64bit
OSD: 20.1 M020
ModelManager: 20.1 M020
NX 1899
TC 12.3

erstellt am: 03. Aug. 2020 14:04    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,

sorry, aber ich glaube jetzt bin ich immer mehr verwirrt, was jetzt stimmt und was gemacht werden muss.
Ich habe ein kleines Programm was eine DAtei durchläuft und diese Teile alle läd und dann als step Datei speichert.
Leider gibt es ein paar Teile die nicht ok sind, und dann bricht das Step-Speichern ab, das wäre nicht schlimm, aber das Programm so weiter laufen.

Code:

(sd-set-current-working-directory "D:\\Step\\478\\stp")
(setq file "D:/Step/478/dateien.txt")
(with-open-file (daten1 file :direction :input :external-format :utf-8)
(do ((l (read-line daten1) (read-line daten1 nil 'eof)))
((eq l 'eof) "Reached end of file.")
(setq getrennt (sd-string-split l ","))
(setq datei (first getrennt))
(setq index (sd-string-replace (second getrennt) "." "" ))
(setq elid (sd-string-trim (sd-string-replace (third getrennt) "~%" "" )))
(setq id (third getrennt))
(sd-db-element-load :database-elid (format nil "~A" id) :show-progress :off) cancel
(teil_checken)
(if (prüfung_positiv)
(step_export :select :all_at_top :display-options :assem-struct :off :filename (format nil "~ARev.~A;~A.stp" datei index elid) :overwrite)
)
(display (format nil "~ARev.~A;~A.stp" datei index elid))
(delete_3d :all_at_top complete)
)
)


Jetzt würde ich halt nach dem sd-db-element-load gerne prüfen ob das Teil ok ist, und dann die step raus schreiben.
Aber bekomme es final nicht hin.

------------------
Gruß Peter

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: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 03. Aug. 2020 18:04    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 Greskamp 10 Unities + Antwort hilfreich

Danke dir schon mal für die info, Peter.  Vielleicht schreibe ich Dir nachher noch was zusammen.

Wie lang ist so ein D:/Step/478/dateien.txt Datei?  Sprich, wie oft wird die Schleife durchlaufen?

Sind die Dateien darin in unterschiedlichen Verzeichnissen?  Also dateiname mit absoluten Pfaden? (ich habe da ein anderes Tool im Hinterkopf was seinerzeit JPGs file von pkg files erzeugt hat).

------------------
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

Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 03. Aug. 2020 18:37    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 Wolfgang,

also die Dateien.txt kann schon 30.000 Zeilen groß sein.
Sind immer absolute Pfade, also das step speichern. Das laden ist ja aus dem ModelManager, da wird über die ID geladen.

------------------
Gruß Peter

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: 132
Registriert: 05.04.2013

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

erstellt am: 27. Aug. 2020 10: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 Greskamp 10 Unities + Antwort hilfreich


error-319-p.lsp

 
Schublade auf *kram.wühl*... irgendwo hier muss es doch sein? ...Aaaah ja! Da schau einmal.

Der Beitrag ist ja auch schon wieder "zwei" Tage alt, aber vielleicht findet sich doch noch jemand der es brauchen kann.

Mit dieser Funktion sollte sich prüfen lassen ob die Teileprüfung für ein Bauteil/Baugruppe einen "Fehler 319" ausgibt. Als Parameter wird das Objekt (Teil/Baugruppe) als Selected-Item übergeben. Das ganze ist aber extremst unschön (*ein.wenig.schäm*) gerade bei großen Baugruppen sehr zäh - die Teileprüfung dauert halt - und beim Durchlaufen einer großen Schleife mit vielen großen Baugruppen wird abhänig von der Hardware der SolidDesigner irgendwann den Dienst verweigern bzw. der Speicher voll laufen.

Code:
(defun error-319-p (obj)

  (display :clear)

  (check_part
   :objects obj
   :maximal_check t
   :voids t
   :knife_edges t
   :inexact_geo t
   :warnings t
   :check_it)
  
  (let ((check-result (sd-get-text-control-value "OUTPUT-BOX-TX")))
   (display :clear)

   (or
     (sd-string-match-pattern-p "*(Fehler 319)*" check-result)
     (sd-string-match-pattern-p "*(Error 319)*" check-result))))



Ein exemplarischer Aufruf könnte z.B. so aussehen:

Code:
(display (error-319-p (sd-inq-curr-part)))

Der Rückgabewert, solle ein Fehler 319 gefunden werden, ist T ansonsten NIL.

*Auf Grund der Tatsache, dass es beim CODE Block die Formatierung zerschießt das ganze noch einmal als Anhang.
**Dämlichen Smilies *schnaub*

Gruß

    Alex

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

[Diese Nachricht wurde von AlexG am 27. Aug. 2020 editiert.]

[Diese Nachricht wurde von AlexG am 27. Aug. 2020 editiert.]

[Diese Nachricht wurde von AlexG am 27. Aug. 2020 editiert.]

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

Greskamp
Mitglied
Ingenieur


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

Beiträge: 523
Registriert: 12.03.2003

erstellt am: 21. Feb. 2021 17:54    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 Alex,

auch wenn es etwas spät kommt, möchte ich dir noch herzlich für die tolle Hilfe bedanken.
Das Tool konnte ich wirklich gut einsetzen und auf diese Zeilen Code wäre ich nie gekommen.

------------------
Gruß Peter

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