| |
 | 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
  
 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 / zitieren --> Unities abgeben:         
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.htmLeider 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
  
 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 / zitieren --> Unities abgeben:          Nur für friedhelm at work
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
  
 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 / zitieren --> Unities abgeben:          Nur für friedhelm at work
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
     

 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 / zitieren --> Unities abgeben:          Nur für friedhelm at work
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
  
 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 / zitieren --> Unities abgeben:          Nur für friedhelm at work
|
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
     
 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 / zitieren --> Unities abgeben:          Nur für friedhelm at work
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 ESR ● Java 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
  
 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 / zitieren --> Unities abgeben:          Nur für friedhelm at work
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
       

 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 / zitieren --> Unities abgeben:          Nur für friedhelm at work
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
  
 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 / zitieren --> Unities abgeben:         
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
  
 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 / zitieren --> Unities abgeben:          Nur für friedhelm at work
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
     
 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 / zitieren --> Unities abgeben:          Nur für friedhelm at work
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 ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |