Description
Tester une forme pour vérifier s’il s’agit d’un vrai rectangle.
Le script suivant fonctionne sur :
- Rhino pour Windows ;
 - Rhino pour macOS.
 
Script par MLAV.LAND, sous licence GNU GPL 3.
Code
import rhinoscriptsyntax as rs
 
def is_rectangle():
    # Select a closed curve composed of 4 points (a quad)
    curve = rs.GetObject("Select a closed curve composed of 4 points", rs.filter.curve)
    
    if not curve:
        print("No valid curve selected.")
        return
 
    # Check if the curve is a closed curve composed of exactly 4 points
    if not rs.IsPolyline(curve) or len(rs.PolylineVertices(curve)) != 5:
        print("The selected curve is not a valid quad.")
        return
 
    # Get the four corner points of the quad
    points = rs.PolylineVertices(curve)
    
    # Calculate the diagonal lengths
    diagonal1 = rs.Distance(points[0], points[2])
    diagonal2 = rs.Distance(points[1], points[3])
    
    # Check if the diagonal lengths are approximately equal
    tolerance = 0.01  # Adjust the tolerance as needed
    if abs(diagonal1 - diagonal2) < tolerance:
        print("The selected shape is a true rectangle.")
    else:
        print("The selected shape is a random quad.")
 
if __name__ == "__main__":
    is_rectangle()