sajid 发表于 2022-7-6 06:57:29

具有100值的自动圆角

任何人都知道如何在图形中自动对现有多段线进行圆角。或者新的多段线,当我结束多段线时,它应该自动圆角100值。。。。我从不同的论坛收到了很多帖子,但可能对我有帮助。plz帮助。

fixo 发表于 2022-7-6 07:20:58

干得好

;; written by ASMI
;; edited 2/10/13
(defun c:mulf(/ frad sset)
(if(not filrad)
   (setq filrad 100.0)
   )
(setq frad filrad
filrad (getdist
(strcat "\nSpecify fillet radius <"
   (rtos filrad)
   ">: "))
)
(if(not filrad)
   (setq filrad frad)
   )

(princ "\n<<< Select polylines to fillet >>> ")
(if
   (setq sset
    (ssget "_X" '((0 . "LWPOLYLINE");|(70 . 1)|)); commented to select only closed plines
   (progn
   
   (setvar "FILLETRAD" filrad)
   (command "_.undo" "_be")
   (setvar "CMDECHO" 0)
   (command "_zoom" "_E")
   (foreach x(vl-remove-if 'listp
                  (mapcar 'cadr(ssnamex sset)))
(vl-catch-all-apply '(lambda()
(command "_.fillet" "_p"(list x(cdr(assoc 10(entget x)))))))
); end foreach
   (command "_zoom" "_P")
   (command "_.undo" "_e")
   (setvar "CMDECHO" 1)
   ); end progn
   ); end if
(princ)
); end of c:mulf

sajid 发表于 2022-7-6 07:32:45

谢谢fixo。。。。。。此例程并非对所有pline进行圆角。我想自动圆角所有线。有可能吗?

fixo 发表于 2022-7-6 07:37:47

上传小屏幕截图以查看您的绘图作品
我不确定我是否理解你的问题

neophoible 发表于 2022-7-6 07:49:42

Fillet将一次性完成多段线的圆角。输入“FILLET R(adius)100 P(olyline)”,然后选择多段线,就完成了。如果您想同时处理多条多段线,那么编写一个AutoLISP例程使其循环将是一件相当简单的事情。您可能可以使用PLINE命令设置smth以在运行时生成圆角,但这听起来不是一件非常实用的事情。你的申请是什么?

fixo 发表于 2022-7-6 08:01:31

完全同意,这是一个很好的观点
页: [1]
查看完整版本: 具有100值的自动圆角