;;================================================= ;;================================================= (in-package :GD_package) (use-package :OLI) (sd-defdialog 'gr_Rechteck :dialog-title (sd-multi-lang-string "rectangle with freecut" :german "Rechteck mit freischnitt") ;;:toolbox-button nil :start_variable 'LAENGE :variables '( (WP :value-type :wp :title (sd-multi-lang-string "WP" :german "AE") :prompt-text (sd-multi-lang-string "Specify WP" :german "AE angeben") :initial-value (sd-inq-curr-wp) ) (PART :value-type :part-assembly :title (sd-multi-lang-string "Part" :german "Teil") :prompt-text (sd-multi-lang-string "Specify Part" :german "Teil angeben")) (ECKPKT1 :value-type :point-2d :Title (sd-multi-lang-string "First edgepoint" :german "Erster Eckpunkt") :Prompt-text (sd-multi-lang-string "Specify first edge" :german "Ersten Eckpunkt angeben")) (ECKPKT2 :value-type :point-2d :title (sd-multi-lang-string "Second edgepoint" :german "Zweiten Eckpunkt angeben") :prompt-text (sd-multi-lang-string "Specify second edgepoint" :german "Zweiten Eckpunkt angeben")) (ECKRAD :value-type :positive-number :title (sd-multi-lang-string "Cornercircle" :german "Eckenradius") :prompt-text (sd-multi-lang-string "Specify circle" :german "Eckenradius angeben") :initial-value 1.5) );;variables :ok-action '(sd-call-cmds (progn (current_part PART) (setf ECK1 (sd-vec-subtract ECKPKT1 0.1,0.1)) (setf ECK2 (sd-vec-add ECKPKT2 0.1,0.1)) (setf ECK3 (make-gpnt2d :x (gpnt2d_x ECK1) :y (gpnt2d_y ECK2))) (setf ECK4 (make-gpnt2d :x (gpnt2d_x ECK2) :y (gpnt2d_y ECK1))) (2dCopilot :RECTANGLE_MODE :real_geometry ECK1 ECK2) (mill :distance 15 :keep_wp :yes :keep_profile :no) (2dCopilot :CIRCLE_MODE :real_geometry ECKRAD ECK1) (2dCopilot :CIRCLE_MODE :real_geometry ECKRAD ECK2) (2dCopilot :CIRCLE_MODE :real_geometry ECKRAD ECK3) (2dCopilot :CIRCLE_MODE :real_geometry ECKRAD ECK4) (mill :distance 15 :keep_wp :yes :keep_profile :no) );;progn );;sd-call-cmds );;sd-defdialog