本帖最后由 wuwubaibai 于 2020-12-29 00:00 编辑
请问高手大大们 小弟欲想以下代码之中增加若无选取到图框则重新选择~若大大们能帮小弟修正更好的方式甚是感谢 (if (setqentname (entsel "\n请选择图框"))
(princ"\n*未选择图框请重新选取*")
烦请各位大大教导一下小弟~感激不尽 LISP参阅了CAD论坛的苹果爸如下: (defun c:M4-TP (/ ss en elist p0 rad p1 sc entdataentgrp entname n ptlist scale GET IST) (setvar"cmdecho" 0) (command"._undo" "_begin") (if (setq ss(ssget '((0 . "circle")))) (progn (setq n-1) (repeat(sslength ss) (setq en(ssname ss (setq n (1+ n)))) (setqelist (entget en)) (setq pt(cdr (assoc '10 elist))) (entdelen) (command"insert" "C:\\lisp\\\工具选项板图块\\\攻牙\\\M4.dwg"pt "" "" "");; (command"explode" "l") ;炸开插入的图块 );; repeat );;progn );; if
;; ==============================以下是我增加 (if (setqentname (entsel "\n请选择图框"))
==============================以下该如何编写 (princ"\n*未选择图框请重新选取*")
==============================以上该如何编写 (if (="INSERT" (getentdxf (car entname) 0)) (progn (command "zoom" "o" (car entname) "") (setqptlist (ax:getboundingbox (car entname))) (setq entgrp (ssget "W" (car ptlist)(cadr ptlist) '((8 . "*TEXT")))) (setqscale (vla-get-XScaleFactor (*en2obj* (car entname)))) (repeat (setq n (sslength entgrp)) (setq entname (ssname entgrp (setq n (1- n)))) (cond ((wcmatch (getentdxf entname 0) "*TEXT") (vla-put-Height (*en2obj* entname) (* scale 3 (getvar"textsize") )) ) ) ) ) ) ) (command"._undo" "_end") (setvar"cmdecho" 1) (princ) ) ;; ==============================以上是我增加 |