| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo | | |  | MAIT übernimmt Kundenstamm von GMCAD, eine Pressemitteilung
|
Autor
|
Thema: Radien am 3D-Modell hinzufügen (1436 mal gelesen)
|
AdrianF Mitglied

 Beiträge: 79 Registriert: 29.10.2008
|
erstellt am: 31. Jan. 2011 16:08 <-- editieren / zitieren --> Unities abgeben:         
Ich möchte an einem Bauteil alle Ecken einer bestimmten Kantenlänge verrunden lassen. Mein Problem ist das ich den Befehl Radius hinzufügen in meinen Lisp nicht ausführen kann. Die online refernce und im Integration Kit bringen mich leider auch nicht weiter. Hat jemand einen Tipp? hier mein Lisp: (in-package :AdrianF) (use-package :OLI) (sd-defdialog 'AF_Radius :dialog-title "Radius vergeben" :toolbox-button t :variables '( (A_Part :value-type :part :prompt-text "Teil angeben" :title "Teil" :initial-value nil ) ("-") (Kantenlaenge :value-type :positive-length :title "Kantenlaenge" :prompt-text "Kantenlaenge eingeben" ) (Radius :value-type :positive-length :title "Radius" :prompt-text "Radius eingeben" ) ("-") (NEXT :toggle-type :grouped-toggle :title "Verrunden" :push-action (next) ) ) :local-functions '( (next () (let (Kante_ausgewaehlt kanten istlang) (setf kanten (sd-call-cmds (get_selection :focus_type *sd-edge-3d-seltype* :select :in_part A_Part))) (dolist (Kante_ausgewaehlt kanten) (setf istlang (sd-call-cmds (measure_dist :edge_length Kante_ausgewaehlt))) (if (< istlang Kantenlaenge ) (sd-call-cmds ((sd-edge-3d-seltype):const_rad Radius)); das Problem liegt hier in dieser Zeile soviel ist schon mal sicher! ) ) )) ) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Geppert Moderator Frank und Frei
     

 Beiträge: 2166 Registriert: 12.12.2000 Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.6, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf HP ZBook Fury 16 G9, Windows 10 Pro 64
|
erstellt am: 31. Jan. 2011 16:54 <-- editieren / zitieren --> Unities abgeben:          Nur für AdrianF
Du willst alle Kanten unter einer bestimmten Länge verrunden Bis Version 15: Code: (sd-call-cmds (FILLET ...))
Ab 16:
Code: (sd-call-cmds (ADD_BLENDS ...))
Hilfe dazu in der Commands-Reference (Eingabezeile: (oli::sd-online-reference))Ein Tip auf jeden Fall: Nicht Kante für Kante verrunden, sondern möglichst alle auf einmal. Dazu erzeugst du vor dem (dolist) eine leere Liste (setf Gute_Kanten (list)) und schiebst dort in der Schleife die gemessenen Kanten rein (when (< istlang Kantenlaenge ) (push Kante_ausgewaehlt Gute_Kanten)) Erst nach der Schleife das Verrundungskommando aufrufen und als Zielkanten diese Liste verwenden Besser wäre es noch, eine Dialogvariable Gute_Kanten definieren, diese Variable mit :after-input nach A_Part wie oben beschrieben ermitteln, dann hast du ein optisches Feedback und mit NEXT dann nur mehr die Verrundungen durchführen lassen Als Feinspitz könnte man direkt in die :get_selection noch eine :check_function mit dem Längenvergleich einbauen, dann fällt die unelegante Schleife weg, aber das schreib ich nur, damit Der_Wolfgang nicht schimpft ------------------ meine LISP-Makros sind auf osd.cad.de Disclaimer Grüße aus Wien Walter DC4 Technisches Büro GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AdrianF Mitglied

 Beiträge: 79 Registriert: 29.10.2008
|
erstellt am: 01. Feb. 2011 08:46 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |