newer 发表于 2025-2-6 17:00:50

提取REGION内部原生曲线

本帖最后由 newer 于 2025-2-6 17:02 编辑






(defun c:tt ()
(xdrx-begin)
(if (and (setq e (xdrx-entsel
                     (xdrx-string-multilanguage
                     "\n拾取要提取的路径<退出>:"
                     "\nPick path to extract <exit>:"
                     ) '((0 . "region,mpolygon"))
                   )
           )
           (setq pt (cadr e)
               e(car e)
           )
           (setq
             loop (xdrx-getpropertyvalue e "closestloopto" pt)
           )
           (setq
             yesorno (xdrx-yesorno
                     (xdrx-string-multilanguage
                       "\n是否包括内部路径"
                       "\nDo you want to include internal paths"
                     )
                     1
                     )
           )
      )
    (progn
      (setq loops (xdrx-getpropertyvalue e "childloops" loop)
          loops (cond
                  ((= yesorno 1)
                     (cons loop loops)
                  )
                  (t
                     (list loop)
                  )
                  )
      )
      (if (setq        loops
               (mapcar
                   '(lambda (x) (xdrx-getpropertyvalue e "getloopat" x))
                   loops
               )
          )
        (xd::drag:freemove
          (setq ss (xdrx-entity-make loops))
          (xdrx-getpropertyvalue (xdrx-entity-box ss) "9pt" 5)
          (+ 1 4 128)
          0
          t
        )
      )
      (princ)
    )
)
(xdrx-end)
(princ)
)

页: [1]
查看完整版本: 提取REGION内部原生曲线