Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  PTC Creo Elements/Programmierung
  Radien am 3D-Modell hinzufügen

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 PTC CREO
  
HPE ProLiant Summer Academy 2025 in Linz, eine Veranstaltung am 11.09.2025
Autor Thema:  Radien am 3D-Modell hinzufügen (1400 mal gelesen)
AdrianF
Mitglied



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

Beiträge: 79
Registriert: 29.10.2008

erstellt am: 31. Jan. 2011 16:08    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 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




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: 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 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 AdrianF 10 Unities + Antwort hilfreich

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



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

Beiträge: 79
Registriert: 29.10.2008

erstellt am: 01. Feb. 2011 08:46    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,
danke für deine Hilfe. Es hat geklappt!

Adrian

       


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