How letsconstructit/grasshopper-tekladrawinglink works
Grasshopper-Tekla Drawing Link is a Grasshopper plugin for interacting with Tekla drawings, their views and objects, and related model data. Users supply Grasshopper inputs to drawing/model components, which create, query, modify, or export Tekla objects; drawing objects can also be mapped to model counterparts. The README documents the broad component families, while sampled source confirms parameter picking and shared object-creation behavior. The desktop UI and startup support are included as an internal layer. Several domain links are documented rather than visible in the sampled component implementations.
Main entry points: TeklaComponentBaseNew.cs Component base new · App.xaml.cs UI startup · DrawingInteractor.cs Drawing interactor · TeklaDatabaseObjectParam.cs Grasshopper parameters
Components 27
Grasshopper Interface
- Component base
src/GrasshopperTeklaDrawingLink/Components/TeklaComponentBase.cs - Component base new
src/GrasshopperTeklaDrawingLink/Components/TeklaComponentBaseNew.cs - Grasshopper parameters
src/GrasshopperTeklaDrawingLink/Types/TeklaDatabaseObjectParam.cs - Parameter definitions
src/GrasshopperTeklaDrawingLink/Tools/ParamInfos.cs - Object attributes
src/GrasshopperTeklaDrawingLink/Tools/Attributes.cs
Drawing Management
- Drawing operations
src/GrasshopperTeklaDrawingLink/Components/Drawings - Drawing lists
src/GrasshopperTeklaDrawingLink/Components/Drawings - Drawing creation
src/GrasshopperTeklaDrawingLink/Components/Drawings
Drawing Objects
- Annotations and marks
src/GrasshopperTeklaDrawingLink/Components/Annotations - Object modification
src/GrasshopperTeklaDrawingLink/Components/Modify - Drawing parts
src/GrasshopperTeklaDrawingLink/Components/Parts - Exports and reports
src/GrasshopperTeklaDrawingLink/Components/Exports - Drawing UDAs
src/GrasshopperTeklaDrawingLink/Components/UDAs
Views and Geometry
- View operations
src/GrasshopperTeklaDrawingLink/Components/Views - Geometry queries
src/GrasshopperTeklaDrawingLink/Components/Geometries
Runtime and UI
- Drawing interactor
src/GrasshopperTeklaDrawingLink/Tools/DrawingInteractor.cs - Model interactor
src/GrasshopperTeklaDrawingLink/Tools/ModelInteractor.cs - Component metadata
src/GrasshopperTeklaDrawingLink/Tools/ComponentInfos.cs - Enum helpers
src/GrasshopperTeklaDrawingLink/Tools/EnumHelpers.cs - Version constants
src/GrasshopperTeklaDrawingLink/Tools/VersionSpecificConstants.cs - UI startup
src/DrawingLink.UI/App.xaml.cs - Startup modes
src/DrawingLink.UI/StartupUtils/StartupController.cs - Main window view model
src/DrawingLink.UI/MainWindowViewModel.cs - User form data
src/DrawingLink.UI/UserFormData.cs - UI extensions
src/DrawingLink.UI/Extensions.cs
Other components
- Grasshopper user
- Tekla
Connections 17
- Grasshopper user → Component base: uses components
- Grasshopper user → Component base new: uses components
- Component base new → Drawing interactor: creates and deletes
src/GrasshopperTeklaDrawingLink/Components/CreateDatabaseObjectComponentBaseNew.cs - Grasshopper parameters → Drawing interactor: picks objects
src/GrasshopperTeklaDrawingLink/Types/TeklaDatabaseObjectParam.cs - Component base new → Parameter definitions: defines menus
src/GrasshopperTeklaDrawingLink/Components/CreateDatabaseObjectComponentBaseNew.cs - Drawing operations → Tekla: manages drawings
- Drawing lists → Tekla: queries drawings
- Drawing creation → Tekla: creates drawings
- View operations → Tekla: creates and queries
- Geometry queries → Tekla: queries geometry
- Annotations and marks → Tekla: creates annotations
- Object modification → Tekla: modifies objects
- Drawing parts → Tekla: maps parts
- Exports and reports → Tekla: exports data
- Drawing UDAs → Tekla: reads and writes
- UI startup → Startup modes: selects mode
src/DrawingLink.UI/App.xaml.cs - UI startup → Main window view model: creates view model
src/DrawingLink.UI/App.xaml.cs