规则化多边形(建筑规则化)
(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]