Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Problem beim Ausführen von Makro Kantenlängen

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:  Problem beim Ausführen von Makro Kantenlängen (674 mal gelesen)
MC
Moderator
Dipl.Ing. Maschinenbau, Konstrukteur


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

Beiträge: 644
Registriert: 20.10.2000

System:
HP Z400, 32GB RAM
nVidia Quadro 4000
Win10 Enterprise 64bit
SOLIDWORKS 2020 Premium SP5.0
Creo Elements/Direct Modeling (x64) 19.0 M030
Modelmanager 19

erstellt am: 29. Mrz. 2005 07: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

Hallo Lispler,
ich habe folgendes Makro im Einsatz, um alle Kanten einer bestimmten Länge eines bestimmten Teils auf einmal anwählen zu können. Bisher klappte es auch, aber zZ. bekomme ich immer die Fehlermeldung "Lisp-Fehler: Speicherüberlauf bei Aufrufprotokoll (Fehler 268)".
(Wir haben von OSDM 11.0 auf 11.65 upgedated, kann es daran liegen?)

Was will mir dieser Fehler sagen?

Vielen Dank im Voraus,

Michael

p.s.: Hier das Makro

(in-package :custom)
(use-package  LI)
;;--------------------------------------------------------------------------*

(sd-defdialog 'sko_select_edges_with_len
                          :dialog-title "WaehleKantenLaenge"
                          :dialog-type :interrupt
                          :variables  '(
                                          (Teil
                                            :title "Teil"
                                            :value-type    art
                                          )
                                          (Laenge
                                            :title "Laenge"
                                            :value-type :length
                                          )
                                        )
  k-action '(sd-call-cmds (sko_list_edges_from_part Teil Laenge))
                        )

                        (DEFUN sko_list_edges_from_part (teil laenge)
                            (setf KantenListeKomplett
                              (sd-call-cmds  (GET_SELECTION :FOCUS_TYPE *sd-edge-3d-seltype*
                                :select
                                :in_part Teil))
                              )
                              (setf KantenListe (Sko_create_ergebnis_liste KantenListeKomplett laenge '()))
                              (sd-put-buffer "KantenListe")
                        )

                        (DEFUN Sko_create_ergebnis_liste (Liste Laenge NeueListe)
                            (IF (ENDP Liste)
                                NeueListe
                              (PROGN
                                  (setf Klaenge (sd-vec-length
                                                    (sd-vec-subtract
                                                        (sd-edge-end-pnt  (sd-inq-edge-geo (FIRST Liste) ))
                                                        (sd-edge-start-pnt (sd-inq-edge-geo (FIRST Liste) ))
                                                    )
                                                  )
                                      )

                                  (IF (AND (> Laenge (- Klaenge 0.001)) (< Laenge (+ Klaenge 0.001)))
                                      ;then
                                      (PROGN
                                        (SETF NeueListe (CONS (FIRST Liste) NeueListe))
                                        (Sko_create_ergebnis_liste (REST Liste) Laenge NeueListe)
                                      )
                                      ;else
                                      (Sko_create_ergebnis_liste (REST Liste) Laenge NeueListe)
                                    );end_if
                                )
                            );end_if
)


------------------
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein)

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: 29. Mrz. 2005 08: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 MC 10 Unities + Antwort hilfreich

Leider ist die Fehlermeldung in der deutschen Uebersetzung verwirrend. Im englischen Original heisst sie "Invocation history stack overflow" - auch keine Schoenheit, aber man erkennt doch, dass es sich um einen Stapelueberlauf handelt. Was also wahrscheinlich mit der rekursiven Definition von Sko_create_ergebnis_liste zusammenhaengt. Offenbar bricht die Rekursion nicht oder nicht rechtzeitig ab. Wieso ist diese Funktion eigentlich rekursiv und was soll sie tun? Und wieso ist sie keine lokale Dialogfunktion?

Claus

------------------
OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/

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

MC
Moderator
Dipl.Ing. Maschinenbau, Konstrukteur


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

Beiträge: 644
Registriert: 20.10.2000

erstellt am: 29. Mrz. 2005 08: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


traverse.jpg

 
Hallo Claus,
leider stammt das Makro nicht vom mir, da ich damit dann doch überfordert war. Ich weiß es nicht mehr genau, wer mir das Programm zur Verfügung gestellt hat, aber es war jemand aus diesem Forum (evtl. Walter?).
Es hat ja auch mal wunderbar funktioniert, leider tuts im Momnet aber nicht mehr.

Sinn des ganzen ist bei mir gerade, 4-eckige Löcher in einer Platte mit Innenradien zu versehen, sodaß die Löcher gefräst werden können. Die Löcher hatte ich vorher durch Lochen erstellt (Bild anbei). Über das Auswahlmenü ist das dann doch eine ziemlich langweilige Geschichte, oder gibt es in OSDM 11.65 eine Möglichkeit nur die senkrechten 40mm langen Kanten auszuwählen?

Für Tipps bin ich dankbar.

Grüße, Michael

------------------
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein)

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 29. Mrz. 2005 09:45    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 MC 10 Unities + Antwort hilfreich

Von mir ists auch nicht, da heissen alle Makros dc4_xxx (Kleine Schleichwerbung  ). Aber ein Tip zum konkreten Problem ganz ohne Makro:
  • Auswahlmenü aufrufen und Liste starten
  • alle Kanten in Teil wählen
  • Teil so drehen, dass die grossen Flächen nach oben/unten weisen
  • Auswahl entfernen mit DF-Rahmen untere Hälfte der Traverse
  • Auswahl entfernen mit DF-Rahmen obere Hälfte der Traverse
  • Entferne die vier Eckkanten
  • Liste Ende

------------------
meine LISP-Makros sind auf Heikos Hilfeseite
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

MC
Moderator
Dipl.Ing. Maschinenbau, Konstrukteur


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

Beiträge: 644
Registriert: 20.10.2000

erstellt am: 29. Mrz. 2005 10:10    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 Walter,
manchmal kommt man auf die einfachsten Dinge nicht. Na klar, und es klappt supergut.    Vielen Dank für den Tipp!

Gruß, Michael

------------------
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein)

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