Parameter:
|
Name
|
Datentyp
|
Typ
|
Beschreibung
|
||
---|---|---|---|---|---|---|
:part
|
SEL_ITEM
|
Erforderliche Angabe
|
Das Teil, in das die Bohrung gebohrt wird.
|
|||
:axis-start-pos
|
GPNT3D
|
Erforderliche Angabe
|
Startposition der Bohrung, d. h. die Position, an der die Achse die Startfläche schneidet.
|
|||
:axis-dir
|
GPNT3D
|
Erforderliche Angabe
|
Achsenrichtung der Bohrung, normalerweise die Achse des Bohrvorgangs.
|
|||
:feature-name
|
string
|
optional
|
Der Name des Formelements, der in der Strukturliste angezeigt wird. Wenn kein Name angegeben wird oder die Einstellung auf NIL gesetzt ist, erhält das Formelement keinen Namen.
|
|||
:feature-type
|
Schlüsselwort
|
Erforderliche Angabe
|
Zurzeit fest; die einzigen möglichen Werte sind NIL und :cad-cam-link-stepped-hole. Zu einem späteren Zeitpunkt wird eine Liste möglicher Werte bereitgestellt werden.
|
|||
:constructor
|
LISP-Form
|
Erforderliche Angabe
|
Die Lisp-Form, die im internen sd-call-cmds ausgewertet wird, um die geometrische Darstellung der Bohrung zu erstellen sowie Gewinde zu definieren.
Weitere Informationen zu den Einschränkungen dieses Formulars finden Sie hier:
documentation about sd-call-cmds. (Dieser Link ist nur in der englischen Dokumentation vorhanden).
|
|||
:success
|
LISP-Form
|
Optional
|
Eine Lisp-Form, die ausgewertet wird, wenn das constructor-form keinen Fehler verursacht.
Dieses Formular wird als success-form in dem sd-call-cmds ausgewertet, das zur Auswertung des constructor-form herangezogen wird. Während der Auswertung des success-form ist die globale Variable *SD-ACTION-RESULT* an das Aktionsergebnis der letzten Aktionsroutine gebunden, die im constructor-form aufgerufen wurde.
|
|||
:failure
|
LISP-Form
|
Optional
|
Eine Lisp-Form, die ausgewertet wird, wenn constructor-form einen Fehler verursacht. Dieses Formular wird als failure-form in dem sd-call-cmds verwendet, das zur Auswertung des constructor-form herangezogen wird. Weitere Informationen zum Fehlerformular finden Sie hier:
documentation about sd-call-cmds. (Dieser Link ist nur in der englischen Dokumentation vorhanden).
|
Einschränkungen:
|
||
---|---|---|
• Sämtliche Einschränkungen, die für sd-call-cmds gelten, sind auch hier gültig.
• Die Querschnittskontur muss
◦ aus geraden Linien bestehen, die in zylindrischen und konischen Flächen sowie ebenen Unterflächen resultieren.
◦ einen Körper erzeugen (wie zur Erstellung eines Objekts durch Drehung).
◦ Reale Bohrungen erzeugen, d. h. sie muss bei gekrümmten Start- oder Endflächen weit genug ausgedehnt werden.
• Der Vorgang zur Erzeugung einer Bohrung ist für die Erstellung verschiedener Formelemente wie zusätzlicher Nuten für O-Ring-Dichtungen nicht zulässig
• Fasen müssen mit dem Befehl CHAMFER erstellt werden, wenn sie als Fasen exportiert werden sollen. Das einfache Erstellen der Form einer Fase überträgt den Kegel als Kegel.
• Für zukünftige Versionen (es steht noch kein Datum fest) ist die Unterstützung von Verrundungen geplant, wobei jedoch dieselben Einschränkungen wie für Fasen gelten.
|
||
Abb. 1: Unterstützte Kontur |
Abb. 2: Bohrspitze kann in das Material schneiden |
|
Abb. 3: Ungültig wegen Hinterschnitt |
Abb. 4: Ungültig wegen Trennung in zwei Bohrungen |
|
Abb. 5: Ungültig wegen Freistichen |
Abb. 6: Ungültig wegen zusätzlicher Nut |
|
Abb. 7: Ungültig wegen zusätzlicher Verrundungen |
Abb. 8: Ungültig wegen konischer Bohrung |
Beispiel
|
|
---|---|
In dem folgenden Beispiel, das aus einem sd-def-Dialog extrahiert wurde, wird eine Stufenbohrung mit den Durchmessern 40, 20 und 40 erstellt, wobei anschließend 4 Fasen erzeugt werden.
:ok-action
'(let* ((part (sd-inq-curr-part)) (axis-start-pos origin) (axis-dir 0,0,-1) (feature-name) (feature-type) (poly_points '(0,0 60,0 60,20 50,20 50,10 10,10 10,20 0,20 :close)) ) (cad-cam-link-ui::machadv-define-hole :part (oli::sd-inq-curr-part) :axis-start-pos axis-start-pos :axis-dir axis-dir :feature-name feature-name :feature-type feature-type :constructor `(let ( (curr-wp (sd-inq-curr-wp)) (geo-mode (sd-inq-geometry-mode)) ) (unless (eq geo-mode :real) (geometry_mode :real) ) (create_workplane :new :pt_dir :origin ,axis-start-pos :normal :x :u_dir ,axis-dir ) (apply #'polygon ',poly_points) (bore :axis ,axis-dir :turn_angle (* 2.0 pi)) (chamfer :check :dist_angle (sd-vec-add ,axis-start-pos 20,0,0) :new_angle_dist 1 45 (sd-vec-add ,axis-start-pos 10,0,-10) :new_angle_dist 2 45 (sd-vec-add ,axis-start-pos 10,0,-50) :new_angle_dist 3 45 (sd-vec-add ,axis-start-pos 20,0,-60) :new_angle_dist .5 45 ) (delete_3d (sd-inq-curr-wp)) (when curr-wp (CURRENT_WP curr-wp)) (unless (eq geo-mode :real) (geometry_mode geo-mode) ) ) ) ) |