cat3appr 发表于 2022-7-5 15:30:34

有什么工具可以平滑这张图吗?

你好
 
我有一个蓝色的配置文件(附件),我想知道是否有一个LISP/formula/command,有什么可以让它平滑的吗?
比如2米的窗户之类的?
 
非常感谢!
亚历克斯
使平滑。图纸

Cad64 发表于 2022-7-5 15:53:56

可以使用PLDIET lisp例程从多段线中删除顶点,从而使其平滑。http://cadtips.cadalyst.com/linear-objects/polyline-diet

cat3appr 发表于 2022-7-5 15:55:03

谢谢
你们知道有并没有更有效的方法,比如移动平均lisp例程,这样我就可以选择平滑量了吗?

Cad64 发表于 2022-7-5 16:10:35

你试过我建议的常规吗?可以通过输入顶点之间的距离和角度来指定平滑量。

scj 发表于 2022-7-5 16:20:32

你好
我使用PL-RED,使用容差通道1.9,得到了附加的结果。
当做
约亨
 
http://www.ant-ares.de
平滑scj。图纸

ronjonp 发表于 2022-7-5 16:41:22

下面是另一个快速示例:
(defun c:foo (/ b c l pts s w x)
;; RJP - 3.9.2018
(if (setq s (ssget '((0 . "lwpolyline"))))
   (foreach pl        (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
   (setq pts (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= 10 (car x))) (entget pl))))
   (setq l (cons (car pts) l))
   (setq c (cadr (car pts)))
   (setq w (apply 'max (mapcar '(lambda (a b) (- (cadr a) (cadr b))) pts (cdr pts))))
   ;; Use 1/2 of max Y variance distance .. based off of example drawing
   (setq w (/ w 2.))
   (foreach x (cdr pts)
(if (not (equal c (cadr x) w))
(setq        l (cons x l)
        c (cadr x)
)
)
   )
   (setq l (reverse l))
   (entmakex        (apply 'append
             (list (list '(0 . "LWPOLYLINE")
                           '(100 . "AcDbEntity")
                           '(8 . "Smooth")
                           '(100 . "AcDbPolyline")
                           (cons 90 (length l))
                           '(62 . 2)
                           '(43 . 0.0)
                           '(70 . 0)
                     )
                     (mapcar '(lambda (x) (cons 10 x)) l)
                     (list (assoc 210 (entget pl)))
             )
        )
   )
   )
)
(princ)
)
平滑scj。图纸
页: [1]
查看完整版本: 有什么工具可以平滑这张图吗?