rk25134 发表于 2022-7-5 23:46:53

自动创建多段线

自动创建尺寸线之间的多段线
测验图纸

rk25134 发表于 2022-7-5 23:52:19

需要lisp自动创建多段线

Tharwat 发表于 2022-7-5 23:55:11

你好
 
是否在选定尺寸的左侧坐标上绘制多段线?

ketxu 发表于 2022-7-5 23:59:34

缺乏信息:
(defun c:pleasemoredetail()
(command "pline"
        (foreach d (acet-ss-to-list (ssget '((0 . "DIMENSION"))))
                (command "_non" (acet-dxf 13 (entget d)))
        )
)
)
并保持尊重4论坛^^
http://www.cadtutor.net/forum/showthread.php?63344-自动绘制多段线/第3页

rk25134 发表于 2022-7-6 00:01:10

我需要右侧

Tharwat 发表于 2022-7-6 00:04:52

 
试试这个。。。
 
(defun c:Test (/ leg ss l)
;;    Tharwat 06. jan. 2014    ;;
(defun leg (x e) (cdr (assoc x (entget e))))
(if (setq ss (ssget '((0 . "*DIMENSION"))))
   (progn ((lambda (i / sn a b)
             (while (setq sn (ssname ss (setq i (1+ i))))
               (if (< (car (setq a (leg 13 sn))) (car (setq b (leg 14 sn))))
               (setq l (cons b l))
               (setq l (cons a l))
               )
             )
         )
            -1
          )
          (if (and l (> (length l) 1) (setq l (vl-sort l '(lambda (p q) (< (cadr p) (cadr q))))))
            (entmakex (append (list '(0 . "LWPOLYLINE")
                                    '(100 . "AcDbEntity")
                                    '(100 . "AcDbPolyline")
                                    (cons 90 (length l))
                                    '(70 . 0)
                              )
                              (mapcar (function (lambda (p) (cons 10 (list (car p) (cadr p))))) l)
                      )
            )
          )
   )
)
(princ)
)

rk25134 发表于 2022-7-6 00:09:54

谢谢你的工作,请提供左侧也。

Tharwat 发表于 2022-7-6 00:12:47

 
把数字13改成14

rk25134 发表于 2022-7-6 00:16:29

在将13改为14后,我得到了错误的方式,请查看附件中的屏幕截图

Tharwat 发表于 2022-7-6 00:17:59

 
你试过我的常规吗?
页: [1] 2
查看完整版本: 自动创建多段线