File size: 339 Bytes
395651c
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from pydantic import BaseModel
from typing import List, Dict, Union, Optional

class Point(BaseModel):
    id: str
    x: Optional[float] = None
    y: Optional[float] = None
    z: Optional[float] = None

class Constraint(BaseModel):
    type: str # 'length', 'angle', 'parallel', etc.
    targets: List[str]
    value: Union[float, str]