newer 发表于 2025-1-10 09:24:29

规则化多边形(建筑规则化)





(defun c:tt ()
(if (and (setq
             min_len
              (getreal (xdrx-string-multilanguage
                       "\n主方向最小长度<退出>:"
                       "\nMinimum length in main direction <exit>:"
                     )
              )
           )
           (setq
             m_offset
              (getreal
                (xdrx-string-multilanguage
                  "\n相邻平行边最大距离<退出>:"
                  "\nMaximum distance between adjacent parallel edges <exit>:"
                )
              )
           )
           (setq
             m_angle (getreal (xdrx-string-multilanguage
                                "\n最大夹角(度)<退出>:"
                                "\nMaximum angle (degrees) <Exit>:"
                              )
                     )
           )
           (setq m_angle (xdrx_math_degtor m_angle))
           (setq ss (xdrx-ssget
                      (xdrx-string-multilanguage
                        "\n选择规则化的多边形<退出>:"
                        "\nSelect regularized polygons <exit>:"
                      )
                      '((-4 . "<and")
                        (0 . "*polyline")
                        (-4 . "&=")
                        (70 . 1)
                        (-4 . "and>")
                     )
                  )
           )
      )
    (progn
      (if (setq
          ss (xdrx_points->regularContour ss min_len m_angle m_offset)
          )
        (progn
          (foreach m (xdrx-pickset->ents ss)
          (xdrx-setpropertyvalue m "color" 1 "constantwidth" 5.0)
          )
        )
      )
    )
)
(princ)
)

页: [1]
查看完整版本: 规则化多边形(建筑规则化)