; #|
|# (in-package :create-objects) (use-package :oli) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Begin of page;; ;; ;; example how to use the function sd-am-create-standard-view ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (sd-defdialog 'am_create_some_views_example :dialog-title "Create Views" :precondition '(if (and (sd-am-inq-drawing-no) (sd-am-inq-curr-view-set)) :ok (values :error "Please create a drawing and create/set viewset first.") ) :mutual-exclusion '(all_views three_views) :variables '(("First Angle Projection") (all_views :value-type :boolean :toggle-type :wide-toggle) (three_views :value-type :boolean :toggle-type :wide-toggle) ) ;; end variables :ok-action '(let (par-view v-right v-left) ;; prepare a sheet (sd-call-cmds (progn (AM_SHEET_CREATE :frame-type "None") (AM_FRAME_MOVE 100,100))) (setf par-view (getf (sd-am-create-standard-view "FRONT" 100,100) :view-name)) (setf v-right (getf (sd-am-create-standard-view "RIGHT_SIDE" :to_left par-view) :view-name)) (sd-am-create-standard-view "TOP" :below par-view) (when all_views (setf v-left (getf (sd-am-create-standard-view "LEFT_SIDE" :to_right par-view) :view-name)) (sd-am-create-standard-view "BOTTOM" :above par-view) (sd-am-create-standard-view "BACK" :to_right v-left) ) (sd-call-cmds (docu_vp "SolidDesigner Annotation" :fit_vp)) ) ;; end let ) ;; end sd-defdialog 'am_create_some_views_example ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Begin of page;; ;; ;; example how to use the function sd-am-create-section-view ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (sd-defdialog 'am_create_section_views_example :dialog-title "Create Section" :precondition '(if (and (sd-am-inq-drawing-no) (sd-am-inq-curr-view-set)) :ok (values :error "Please create a drawing and create/set viewset first.") ) :variables '( (parent_view_type :title "Std. View" :range ("FRONT" "BACK" "LEFT_SIDE" "RIGHT_SIDE" "TOP" "BOTTOM" "FRONT_TOP_LEFT" "FRONT_TOP_RIGHT" "BACK_TOP_LEFT" "BACK_TOP_RIGHT" "FRONT_BOTTOM_LEFT" "FRONT_BOTTOM_RIGHT" "BACK_BOTTOM_LEFT" "BACK_BOTTOM_RIGHT") ) ;; end parent_view_type (rel_position :title "Position" :range ( :ABOVE :BELOW :TO_RIGHT :TO_LEFT) ) ;; end rel_position ) ;; end variables :ok-action '(let (par-view) ;; prepare a sheet (sd-call-cmds (progn (AM_SHEET_CREATE :frame-type "None") (AM_FRAME_MOVE 125,150))) (setf par-view (getf (sd-am-create-standard-view parent_view_type -125,50) :view-name)) (sd-call-cmds (am_view_update :update_amount 3 :view-name par-view)) (sd-am-create-section-view par-view '(-170,50 -120,50 -120,70 -70,70) rel_position par-view) (sd-call-cmds (docu_vp "SolidDesigner Annotation" :fit_vp)) ) ;; end let ) ;; end sd-defdialog 'am_create_section_views_example ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Begin of page;; ;; ;; example how to use the sd-am-create- functions ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (sd-defdialog 'am_create_label_example :dialog-title "Create Label" :precondition '(if (and (sd-am-inq-drawing-no) (sd-am-inq-curr-view-set)) :ok (values :error "Please create a drawing and create/set viewset first.") ) :variables '(("Owner") (type :range ((:current-frame :label "current Frame") (:current-sheet :label "current Sheet") (:2dview :label "2d View") (:sketch :label "sketch")) :initial-value :current-sheet :after-input (if (or (equal type :2dview) (equal type :sketch)) (progn (sd-set-variable-status 'owner :enable t) (setq owner nil)) (progn (sd-set-variable-status 'owner :enable nil) (setq owner " "))) :size :third ) (owner :value-type :docupart :initial-enable nil :initial-value " " :size :third ) ("Label") (x :title "x Pos" :value-type :integer :initial-value 0 ) (y :title "y Pos" :value-type :integer :initial-value 0 ) (logo :value-type :filename :direction :input :initial-value (list "cclogo.mi") :initialPattern "*.mi" ) (text :value-type :string :initial-value "SolidDesigner Annotation" ) ) ;; end variables :ok-action '(let () ;; misc methods used to draw the sides of the box (sd-am-create-geo-straight :2pos (list (gpnt2d (- x 45) (+ y 25)) (gpnt2d (+ x 45) (+ y 25))) :owner_type type :owner owner) (sd-am-create-geo-straight :horizontal (list (gpnt2d (- x 45) (- y 25)) 90) :owner_type type :owner owner) (sd-am-create-geo-straight :vertical (list (gpnt2d (- x 50) (- y 20)) 40) :owner_type type :owner owner) (sd-am-create-geo-straight :angle (list (gpnt2d (+ x 50) (- y 20)) 90 40) :owner_type type :owner owner) ;; draw four arcs for the 'corners' (sd-am-create-geo-circular :arc_center (list (gpnt2d (- x 45) (+ y 20)) (gpnt2d (- x 45) (+ y 25)) (gpnt2d (- x 50) (+ y 20)) (gpnt2d (+ x 45) (+ y 20)) (gpnt2d (+ x 50) (+ y 20)) (gpnt2d (+ x 45) (+ y 25)) (gpnt2d (+ x 45) (- y 20)) (gpnt2d (+ x 45) (- y 25)) (gpnt2d (+ x 50) (- y 20)) (gpnt2d (- x 45) (- y 20)) (gpnt2d (- x 50) (- y 20)) (gpnt2d (- x 45) (- y 25)) ) :owner_type type :owner owner) ;; load the specified sketch (sd-am-load-sketch :file_name (first logo) :position (gpnt2d x y) :adjust :middle_middle :owner_type type :owner owner) ;; create text string within the given owner (sd-am-create-text :text text :position (gpnt2d (- x 30) (- y 20)) :owner_type type :owner owner) ) ;; end let ) ;; end sd-defdialog 'am_create_label_example ; END of Example