| 我快速浏览了一下,看看是否可以找到REVCLOUD的历史,以便了解在*REVCLOUDMAXARCLENGTH之前使用的内容,但没有成功。在没有更多信息的情况下,我使用了一个全局变量convcloudnew:arclength。 
 (defun convcloudnew ( / al g i ss sse ) (if (setq ss (ssget '((0 . "LINE,*POLYLINE,CIRCLE,ELLIPSE,SPLINE,ARC"))))   (progn     (repeat (setq i (sslength ss))       (setq sse (cons (cdr (entget (ssname ss (setq i (1- i))))) sse))       )     (if (null (setq al (getvar "*REVCLOUDMAXARCLENGTH")))       (if (or (numberp (setq al convcloudnew:arclength))               (setq al (* (getvar "DIMSCALE") 0.5))               )         (setq g T)         )       )     (while al       (command "_.erase" ss "")       (setq ss (ssadd))       (foreach x sse         (command "_.revcloud" "arc" al al "object" (entmakex x) "")         (ssadd (entlast) ss)         )       (if g (setq convcloudnew:arclength al))       (initget 6)       (setq al (getreal (strcat "\nSpecify a different arc length or ENTER to accept the current value < " (rtos al 2 2) " >: ")))       )     )   (princ "\nNo objects selected.")   ) )
 
顺便说一句,我之所以使用DIMSCALE,是因为你建议使用它。您可以考虑将CANNOSCALEVALUE作为替代方案。 |