Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Kanten einer bestimmten Länge einfärben um die Auswahlfunktion F2 vorzubereiten

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:  Kanten einer bestimmten Länge einfärben um die Auswahlfunktion F2 vorzubereiten (277 mal gelesen)
friedhelm at work
Mitglied
Techniker Aluminium Profile


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

Beiträge: 887
Registriert: 01.04.2003

Creo Elements Direct
/Drafting 17+20.x
ui classic-Tablett + Ribbon,
Modeling 17-20.0,.2,.4,.5
Lizenz auf USB-Netzwerkadapter
PE-Express 8
Win 10 Enterprise 64 @work
Win 10 Pro 64 @home
Notepad++,IrfanView,eDrawings,
....

erstellt am: 16. Mrz. 2023 07:34    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


Kantenauswahl_01.jpg


Anfrage.stp

 
Hallo zusammen
Es geht um eine Anfrage für ein Aluminiumprofil.
Das Model habe ich vereinfacht und als Step beigefügt, damit es jeder laden kann.
Aluprofile haben an den Aussenkanten Rundungen, die durch den Fertigungsprozess der Werkzeuge entstehen (Drahterosion).
Grössere Radien sind aber Willkommen weil sie den Materialfluss verbessern. 
Die gewünschte Aktion wäre also hier die Kanten mit einer Länge von annähernd 7mm mit einem Radius von 0.3mm und die von annähernd 9mm mit einem Radius von 0.1mm abzurunden.
Die Auswahl (Funktionstataste 2) bietet als weiterführendes Kriterium alleine 'Alles' und 'Farbe' an, alles andere ist wieder Auswahl per Klicken mit gedrückter Shifttaste.
Das Teil hat 72 Zähne, somit 144 Kanten von annähernd 7mm und 72 von annähernd 9mm.    
So, zur Frage.
Auf der Seite von Matthias, Highway45 gibt es ein Lisp welches ich schon verwende. http://osd.cad.de/lisp_3d_42.htm

Leider beschränkt sich die Auswahl der Kantenlänge nur auf 'kleiner als'.
Dadurch muss man das Lisp für jede zu wählende Kantenlänge zwei Mal durchführen um das Gewünschte zu erreichen und es auch jedes Mal neu starten da es sonst Fehler macht.
Start, lasse Rot, wähle Kanten < 9.1, in diesem Teil, Bestätigen grüner Haken. Wieder aus der Toolbox aufrufen.
Wähle Blau, wähle Kanten < 8.9, in diesem Teil, Bestätigen grüner Haken.
Jetzt kann man in Auswahl (Funktionstataste 2) bei den Kanten die Funktion 'Farbe' wählen und eine der roten 9mm Linien anklicken und den somit gewählten Kanten die gewünschte Rundung verpassen.

In Zeile 59 steht  (if (< istlang KLAENGE )
Habe das '<' schon in '>' geändert, dann werden die Kanten 'länger als' Wert gewählt.
In '=' geändert funktioniert nicht gut bis garnicht, vermute hier die Dezimalungenauigkeit als Grund.

Ist es möglich dem Lisp eine verbesserte Auswahlmöglichkeit zu geben?
Also Kantenlänge "von x - bis y"
Habe auch irgendwo gelesen, dass man in Lisp diese Dezimalungenauigkeit eliminieren kann ??
Ausserdem wäre es vieleicht gut, dass die Kantenfarben Sichtbarkeit angeschaltet würde, damit man auch das Resultat sieht.
Recordert:
set_pers_context "Toolbar-relative"
(SET_SHOW "1" :3DGEO_EDGE_COLOR :OFF)
(SET_SHOW "1" :3DGEO_EDGE_COLOR :ON)
Habe mir schon mal einen Button gemacht der funktioniert. Befehl:
(UI::UIC-SET-SHOW-MODE :3DGEO_EDGE_COLOR :TOGGLE)

Danke schon Mal im Voraus    

------------------
Gruss Friedhelm

[Diese Nachricht wurde von friedhelm at work am 16. Mrz. 2023 editiert.]

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

MiBr
Mitglied
Konstrukteur


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

Beiträge: 513
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 19R3 Mechanical Pro

erstellt am: 16. Mrz. 2023 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 friedhelm at work 10 Unities + Antwort hilfreich


Kanten_zu_Rundung.lsp

 
Hallo Friedhelm,

ich habe mir zum verrunden bei solchen Problemen mal ein Tool gebastelt. Dies habe ich auch
aus dem genannten Tool von der OSD-Seite entwickelt.

in dem Tool kannst Du eine Referenzkante anwählen z.B. die 9mm Kante und anschließend umrahmst
Du einfache den Bereich des Bauteils an dem die Rundungen hinzugefügt werden sollen.

Wenn ich dich richtig verstehe ist es das was Du suchst, allerdings ohne Farbe oder so.
Anbei die Lisp 1:1 man kann diese aber sicherlich noch anpassen!

Gruße
Michael

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

MiBr
Mitglied
Konstrukteur


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

Beiträge: 513
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 19R3 Mechanical Pro

erstellt am: 16. Mrz. 2023 12:38    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 friedhelm at work 10 Unities + Antwort hilfreich

Hallo nochmal,
Zitat:
In '=' geändert funktioniert nicht gut bis garnicht, vermute hier die Dezimalungenauigkeit als Grund.

Das denke ich auch du konntest es mit einer Toleranz evtl. so lösen:
Code:
(if (and (< (- istlang 0.0001) KLAENGE) (> (+ istlang 0.0001) KLAENGE))

Gruß Michael

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: 2145
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: 16. Mrz. 2023 13: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 Nur für friedhelm at work 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von friedhelm at work:

In '=' geändert funktioniert nicht gut bis garnicht, vermute hier die Dezimalungenauigkeit als Grund.

Ist es möglich dem Lisp eine verbesserte Auswahlmöglichkeit zu geben?
Also Kantenlänge "von x - bis y"
Habe auch irgendwo gelesen, dass man in Lisp diese Dezimalungenauigkeit eliminieren kann ??



Code:
(sd-num-equal-p num1 num2 :resolution resolution)

Description:
    Checks if the two passed numbers are equal within the specified geometric resolution.

Parameters:

    num1 {NUMBER}
        The first number (integer of float) for the check.
    num2 {NUMBER}
        The second number (integer of float) for the check.
    :resolution {LONG-FLOAT [System-default-resolution]}
        The geometric resolution (or accuracy).

Return value:

    t - if the absolute difference between both numbers is less than resolution
    nil - otherwise



------------------
meine LISP-Makros sind mit vielen anderen aus diesem Forum auf osd.cad.de Disclaimer
Grüße aus Wien

Walter

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

MiBr
Mitglied
Konstrukteur


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

Beiträge: 513
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 19R3 Mechanical Pro

erstellt am: 16. Mrz. 2023 14: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 friedhelm at work 10 Unities + Antwort hilfreich

Hallo,

das ist aus dem I-Kit! Damit könntest du das wahrscheinlich so mach (ungetestet Test):

Code:
(if (sd-num-equal-p istlang KLAENGE :resolution 0.1)

Gruß Michael

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

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 16. Mrz. 2023 20: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 Nur für friedhelm at work 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MiBr:
das ist aus dem I-Kit!

===>>> 🔗 sd-num-equal-p Wurde ja schon mehrfach genannt. Real Zahlen immer damit vergleichen. Intergerzahlen kann man mit '=' ver=en 😉

Bezüglich des Dialogs von Dir, Michael.

Performance technisch würde ich den sd-call-cmds nicht IN der Schleife machen, sondern danach. Also z.B.

  • IN der (dolist ...)  (when match .  (push eine-Kante die-Kanten))
  • NACH der dolist (sd-call-cmds (cmd  die-Kanten))

Damit würde ein body check dann z.b. nur einmal laufen.

Mag sein das das bei komplizierteren Aktionen mehr ausmacht. Aber man muss es sich auch einfach etwas angewöhnen beim lispeln.

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

MiBr
Mitglied
Konstrukteur


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

Beiträge: 513
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 19R3 Mechanical Pro

erstellt am: 17. Mrz. 2023 11:11    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 friedhelm at work 10 Unities + Antwort hilfreich


Kanten_zu_Rundung.lsp

 
Hallo,

@Wolfgang
Habe es entsprechend geändert und am Rad von Friedhelm getestet. Bei 72 Zähnen geht das jetzt ca. 72x so schnell!
Das mal zur 'Performance' DANKE!
Zudem habe ich die LISP entrümpelt, da geht wahrscheinlich noch mehr, aber so kann ich es noch gut lesen.
Arbeite auch in diesem Fall lieber mit der wählbaren Toleranz± als mit 'sd-num-equal-p' aber das ist Ansichtssache.

@Friedhelm
Hast du die Lisp mal ausprobiert? Die Lisp müsste doch genau das machen was du wolltest, ohne den Umweg über die
die Kantenfarben und der F2-Auswahl, oder?

Gruß Michael

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

highway45
Moderator
Bastler mit Diplom




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

Beiträge: 6334
Registriert: 14.12.2004

SolidDesigner-20.5.0 + PhoenixPDM-11 + Solidworks-2023 + PE8 + Blender

erstellt am: 17. Mrz. 2023 12:07    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 friedhelm at work 10 Unities + Antwort hilfreich

Eigentlich gibt es im F2 Auswahlmenu diese Funktion schon fast.
Unter "Verfahren" ↓↓ "aufklappen" befindet sich "Geo-Regeln".

Allerdings können hier nur Flächen gewählt werden und keine Kanten.
Warum eigentlich ?

------------------

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

friedhelm at work
Mitglied
Techniker Aluminium Profile


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

Beiträge: 887
Registriert: 01.04.2003

Creo Elements Direct
/Drafting 17+20.x
ui classic-Tablett + Ribbon,
Modeling 17-20.0,.2,.4,.5
Lizenz auf USB-Netzwerkadapter
PE-Express 8
Win 10 Enterprise 64 @work
Win 10 Pro 64 @home
Notepad++,IrfanView,eDrawings,
....

erstellt am: 17. Mrz. 2023 13: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

Hallo Michael und alle anderen,
erst mal sorry dass ich so spät antworte, bin eben erst dazu gekommen zu probieren.
Bin seit gestern Morgen etwas gelebt worden  

Habe erst die erste Version und jetzt die verbesserte probiert.
Welch ein Unterschied in der Geschwindigkeit. Wow !
Zu deiner Frage nach der Farbe.
Ganz einfach weil ich nur das zur Verfügung hatte.
Da ich mit der Lisp Programmierung nicht klar komme muss ich mich damit begnügen was ich an Fundsachen bekommen kann. 
Tja und der Entstehungsgrund des Lisp war ja der gleiche.
https://ww3.cad.de/foren/ubb/Forum29/HTML/002274.shtml#000000

Dein Lisp ist natürlich viel besser.
Den einzigen Vorteil den der Umweg über die Farben bietet ist das man dann auch zB. Fasen usw. erstellen könnte.
Mal sehen ob sich jemand daran macht das Menu um die Verbesserungen zu erweitern.

Dann hat Matthias völlig recht, dem F2 Auswahlmenü fehlt die Auswahl nach Länge.
Eventuell auch da diese Genauigkeitsproblematik   Wer weiß.

Auf jeden Fall möchte ich mich herzlich für euren Einsatz bedanken.

Ps. out of topic. Bekomme die "Direct-Drafting-20-5-1-0-64bit" bei PTC nicht heruntergeladen.
Netzwerkprobleme, keine Berechtigung werden genannt. Läuft bis 0 Sek. und ist dann doch nicht komplett.
License-Server-Windows-20-5-0-0 und Direct-Modeling-20-5-1-0-64bit kamen sauber rüber.
Hat das noch jemand?

------------------
Gruss Friedhelm

[Diese Nachricht wurde von friedhelm at work am 17. Mrz. 2023 editiert.]

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

MiBr
Mitglied
Konstrukteur


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

Beiträge: 513
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 19R3 Mechanical Pro

erstellt am: 17. Mrz. 2023 14:01    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 friedhelm at work 10 Unities + Antwort hilfreich

Hallo Friedhelm schön wenn es gefällt!

Code:
Den einzigen Vorteil den der Umweg über die Farben bietet ist das man dann auch zB. Fasen usw. erstellen könnte.
Mal sehen ob sich jemand daran macht das Menu um die Verbesserungen zu erweitern.

Du hast schon recht es wäre schön wenn man die Auswahl irgendwie weiterbenutzen könnte und damit anschließend Fase, Farben
und.. erstellen/ändern könnte. Bekomme ich leider nicht hin. Ob man die Auswahl irgendwie in die Zwischenablage bekommt
und anschließend wählen kann. Ich weiß auch nicht!
Was ich aber weiß ist das ich das gleich Tool für Fasen habe. Muss ich aber jetzt erstmal auf Stand bringen.
Anschleißend stelle ich es gern zur Verfügung.

Gruß Michael

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

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 17. Mrz. 2023 18:30    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 friedhelm at work 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MiBr:
Bei 72 Zähnen geht das jetzt ca. 72x so schnell! Das mal zur 'Performance' DANKE!
cool!! 😎  Kleiner Hinweis, grosse Wirkung .  und ich hatte noch gezögert ob ich es schreiben soll.
Zitat:
Original erstellt von MiBr:
wählbaren Toleranz ± mm als mit 'sd-num-equal-p' aber das ist Ansichtssache.

Das würde bis 10-6 ja letzlich der :resolution von sd-num-equal-p entsprechen. Also sind wir da gar nicht weit auseinander.

mir dünkt jetzt eine flexible utility Funktion für die LISP-Werkzeug Schreiber:

Code:

(defun sd-get-edges-by-length (len-min len-max &key all-in-objects (straight T) (circle nil) (arc nil))
  "return list of edge sel-items matching the given criteria"
  (let (found-edges ... )
    ;; usw
    found-edges; return list of edges
    )
  )

Wenn der Lispler dann mit Edge-length ± tolerance das UI gestaltet muss m/w/d die Funktion dann mit
Code:
(sd-get-edges-by-length (- edge-len tolerance) (+ edge-len tolerance) ...)
aufrufen.

@Michael im unteren Abschnitt könntest du einen Boolschen Expand Shrink einbauen "Blend" or "Chamfer"

------------------------

Schönes Team-Work mal wieder  🙂 👍👍🙂👍🙃👍

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