+------------<------------------------------+ | | -->(GET_SELECTION)-->+-->(:FOCUS_TYPE)-+->{focus type}---------->+ | | | | +->{focus type list}----->+ | | +-->(:SINGLE_SELECTION)-------------------->+ | | +-->(:CURR_WP_ONLY)------------------------>+ | | +-->(:CURR_PART_ONLY)---------------------->+ | | +-->(:ALLOW_FACE_PART)--------------------->+ | | +-->(:ALLOW_WIRE_PART)--------------------->+ | | +-->(:ALLOW_GRAPHICS_ONLY)->{keyword list}->+ | | +-->(:DISABLE_AUTOMATIC_RELOAD)------------>+ | | +-->(:WITH_STOCK_CONTAINER)---------------->+ | | +-->(:NO_HIGHLIGHT)------------------------>+ | | +-->(:CHECK_FUNCTION)-->|Lisp function|---->+ | | +----->(:SELECT)-->|select subaction|--------------->
Note: This interrupt action should only be used programmatically via sd-call-cmds as a way to inquire topological information from the system.
Note: Non construction geometry types select real geometry only.
Note: The select focus types for Annotation objects are listed in the Annotation select documentation.
nil ;default (list :part) (list :assembly) (list :part :assembly)
Select all top-level parts in the system, including wire and face parts:
(sd-call-cmds (get_selection :focus_type *sd-part-seltype* :allow_wire_part :allow_face_part :select :all_at_top))Select all parts in a specific assembly:
(sd-call-cmds (get_selection :focus_type *sd-part-seltype* :select :in_assembly assembly-sel-item))Select all edges of the current part:
(sd-call-cmds (get_selection :focus_type *sd-edge-3d-seltype* :curr_part_only :select :all_3d)) (sd-call-cmds (get_selection :focus_type *sd-edge-3d-seltype* :select :current_part :all_3d))Select all circular edges of a specific part:
(sd-call-cmds (get_selection :focus_type *sd-circle-3d-seltype* :select :selected_part part-sel-item :all_3d))Select all planar faces of a specific part:
(sd-call-cmds (get_selection :focus_type *sd-plane-seltype* :select :selected_part part-sel-item :all_3d))Select a list of all faces of a part that have a transparency setting greater than 0.5:
(defun check-transparent-face (face) (let ((ft (sd-inq-face-transparency face))) (if (and ft (>= ft 0.5)) :ok :filter))) (sd-call-cmds (get_selection :focus_type *sd-face-seltype* :check_function #'check-transparent-face :select :selected_part part-sel-item :all_3d))
(sd-get-faces-along-ray part ray-point ray-direction :include-details include-details-flag :in-dir-only in-dir-only-flag)
(sd-get-faces-along-ray a-part-sel-item -32.70855155006501,39.938131591119159,189.79696386352623 0.60402277355505363,0.34202014332566871,-0.71984631039295421) => ((face1-sel-item -7.3395950607527531,54.302977610797249,159.56341882702216 42) (face2-sel-item -32.708551550065003,39.938131591119159,189.79696386352623 0)) (sd-get-faces-along-ray a-part-sel-item -32.70855155006501,39.938131591119159,189.79696386352623 0.60402277355505363,0.34202014332566871,-0.71984631039295421 :include-details nil) => (face1-sel-item face2-sel-item)
© 2023 Parametric
Technology GmbH (a subsidiary of PTC Inc.), All Rights Reserved |