;;--------------------------------------------------------------------------* ;; Weiss Umwelttechnik GmbH * ;; * ;;--------------------------------------------------------------------------* ;; Dateiname: L_Profil_DIN_1029.lsp ;; Version : 1.0 ;; Datum : 03.01.2012 ;; Author : Steffen Sack ;;--------------------------------------------------------------------------* ;; ;;--------------------------------------------------------------------------* (in-package :EXAMPLES) (use-package :OLI) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;=== Logical table === (sd-create-logical-table "Profile_DIN_1029" :columns '(:besch :a :b :s) :columnNames '("Beschreibung" "Schenkellaenge a" "Schenkellaenge b" "dicke") :types '(:string :length :length :length) :units '(nil :mm :mm :mm) :contents '(( "30x20x3" 30 20 3) ( "30x20x4" 30 20 4) ( "40x20x3" 40 20 3) ( "40x20x4" 40 20 4) ( "45x30x4" 45 30 4) ( "45x30x5" 45 30 5) ( "50x30x4" 50 30 4) ( "50x30x5" 50 30 5) ( "50x40x5" 50 40 5) ( "60x30x5" 60 30 5) ( "60x40x5" 60 40 5) ( "60x40x6" 60 40 6) ( "65x50x5" 65 50 5) ( "70x50x6" 70 50 6) ( "70x50x7" 70 50 7) ( "75x55x5" 75 55 5) ( "75x55x7" 75 55 7) ( "80x40x6" 80 40 6) ( "80x40x8" 80 40 8) ( "80x60x7" 80 60 7) ( "90x60x6" 90 60 6) ( "90x60x8" 90 60 8) ( "100x50x6" 100 50 6) ( "100x50x8" 100 50 8) ( "100x50x10" 100 50 10) );;contents );;sd-create-logical-table ;=== End Logical table === (sd-create-display-table "Profile_DIN_1029" :tableTitle "Profile DIN 1029" :logicalTable "Profile_DIN_1029" :columns '(:besch :a :b :s) :columnSortUI t :entryAlignment '(:right :left) :applyColumns '(:besch :a :b :s) :formatFunctions '(sd-display-table-format-1-digit) :displayHeight 170 :filterStatusLine nil :selectionMode :single-row :applyAction :default-tokens );;sd-create-display-table ;;============================= (sd-defdialog 'sas_L_Profil_DIN_1029 :dialog-title "L Profil DIN 1029" :variables '( (besch :value-type :string :title "Beschreibung" :show-input-tool (sd-show-display-table "Profile_DIN_1029" :position '("TOP-MENU-TOOLBOX-TB" :bottomleft 330 250)) :hide-input-tool (sd-hide-display-table "Profile_DIN_1029" :ignorePin t) :prompt-text "Profil waehlen") (a :value-type :length :title "Schenkell. (a)" :show-input-tool (sd-show-display-table "Profile_DIN_1029" :position '("TOP-MENU-TOOLBOX-TB" :bottomleft 330 250)) :hide-input-tool (sd-hide-display-table "Profile_DIN_1029" :ignorePin t) :prompt-text "Schenkellaenge (a) waehlen") (b :value-type :length :title "Schenkell. (b)" :show-input-tool (sd-show-display-table "Profile_DIN_1029" :position '("TOP-MENU-TOOLBOX-TB" :bottomleft 330 250)) :hide-input-tool (sd-hide-display-table "Profile_DIN_1029" :ignorePin t) :prompt-text "Schenkellaenge (b) waehlen") (s :value-type :length :title "Dicke (s)" :show-input-tool (sd-show-display-table "Profile_DIN_1029" :position '("TOP-MENU-TOOLBOX-TB" :bottomleft 330 250)) :hide-input-tool (sd-hide-display-table "Profile_DIN_1029" :ignorePin t) :prompt-text "Profildicke (s) waehlen") (l1 :value-type :length :title "Laenge (L1)" :prompt-text "Profillaenge (L1) waehlen") (AE-erzeugen :push-action (sas_L_Profil_DIN_1029)) (Profil-erzeugen :push-action (pull_profil)) (PICTURE :value-type :image :image-file "F:/One Space Modelling V17/Customize/Lisp/sas.bmp" :image-width 28 :image-height 14 :image-alignment :right) ) :local-functions '( (sas_L_Profil_DIN_1029 () (when (sd-inq-workplane-p (sd-pathname-to-obj "/L_Profil_DIN_1029")) (sd-call-cmds (DELETE_3D (format NIL "~A~A" "/" "L_Profil_DIN_1029"))) ;eventuell alte AE löschen );ende When (sd-call-cmds (CREATE_WORKPLANE ; AE erzeugen :New :name "L_Profil_DIN_1029") ) ;end call (sd-call-cmds (GEOMETRY_MODE :REAL) ;ändert die Geometrieart auf "Geometrie" falls das nicht eingestellt ist ) ;end call (sd-call-cmds (polygon ;Polygon zeichnen (gpnt2d 0 0) (gpnt2d 0 a) (gpnt2d s a) (gpnt2d s s) (gpnt2d b s) (gpnt2d b 0) :close) ; Polygon schliessen ) ;end call (sd-call-cmds (fillet :create :fillet_radius ( / s 2) (make-gpnt2d :x s :y a) (make-gpnt2d :x b :y s)) ;;Radien erzeugen ) (sd-call-cmds (fillet :create :fillet_radius s (make-gpnt2d :x s :y s)) ;;Radien erzeugen ) ) ;end local-functions (pull_profil () ;;(UI::UIC-CALL-PULL-ACTION :LINEAR-PULL-PROFILE) (sd-call-cmds (extrude :part "/L_Profil_DIN_1029_Part" :wp "/L_Profil_DIN_1029" :distance l1 :keep_wp :no) ) ) ) :ok-action '() )